mysql常用命令
1.创建数据库
create database 数据库名称;
CREATE TABLE orders4(
orderID INT UNSIGNED AUTO_INCREMENT,
– AUTO_INCREAMENT定义列为自增属性,一般情况用于主键数值会自动加1
orderDate DATETIME,-- 设置字段的属性为not null,当操作databases的时候,为null将会报错
orderTime DATE,
PRIMARY KEY(orderID)-- primary key 设置主键的值
)ENGINE=INNODB DEFAULT CHARSET=utf8;
2.向数据表中插入数据
insert into 表名(字段1,字段2,字段3) values (值1,值2,值3)
INSERT INTO orders3(orderID,orderDate,orderTime) VALUES (2,3,1)
如果值为字符类型,必须使用单引号或者是双引号
一条SQL语句过长,可以通过一个新行来编写sql语句,sql语句的结束符号为;
3.在不同的表中搜索多条数据
select 字段1,字段2 from 表1,表2
4.使用where限制,and表示使用一个条件,or表示使用多个条件
select 字段名,字段名 from 表名 where 条件1 and 条件2
使用了and相当于条件1和条件2组成的新条件,使用or表示两个条件
where后面的条件中的值不区分大小写,WHERE后面添加BINARY
5.更新表中的内容
update 表名 set 字段名=值,字段名=值 where条件可添可不添
update 替换某个字段中的某个字符,update 表名 set 字段名= replace(字段名,对应的字段值里要修改的内容,新的值)
6.删除数据表
drop table 数据表名
7.删除数据表中的内容
delete from 表名 where 条件
where条件不添加的时候全部删除,添加之后,删除指定的内容
8.显示事务的隔离级别(显示当前会话的隔离级别)
show varibles like ‘%iso%’
查看当前会话的隔离级别
SELECT @@tx_isolation
set session transaction isolation level repeatable read;
查看当前系统的隔离级别
SELECT @@global.tx_isolation;
set global transaction isolation level repeatable read;
9.MyISAM对表进行检查和恢复
CHECK TABLE 表名
REPAIR TABLE 表名
10.innodb的表存储在键空间中,有两种存储方式,一种是以idb未为扩展名的独立表空间,一种是存储到系统公共空间ibdataX中
SHOW VARIABLES LIKE ‘innodb_file_per_table’;
set global innodb_file_per_table=off;
如果为ON则每一个innodb表创建一个以.idb文扩展名的系统文件,tablename,idb
如果未OFF则会把数据存储到系统的公共空间也就是ibdataX,X表示的是一个数字,
在linux下使用ls-lh myinnodb*将会列出所有以myinnodb开头的文件,
11.show columns from table 等价于desc table
12.启动一个事务,begin
13.对表的第一行加一个独占锁
update 表名 set c1=‘bbbb’ where id=2,
13.lock table tableName write;对表进行加锁
innodb默认实现的行级锁,但是可以对innodb实现的表加上表级锁
unlock tablename 表示解锁
14.innodb状态的检查的检查,show engine innodb status
15.在表上创建索引
create index idx_c1 on memory(c1);
15,在执行的字段上创建B树索引
create index idx_字段名 using btree on 表名(字段名)
SHOW INDEX FROM document
显示表中使用的索引
16.查看某个表的状态信息
show table status like '表名‘