[; \g \G] |
都表示语句结束, ;和\g效果一样, \G可以使结果显示更美观 |
delimiter 结束符号 |
更改结束符 |
SET NAMES GBK; |
|
show database; |
显示所有数据库 |
show engines \G |
查看所支持的存储引擎 |
show variables like |
'have%'; |
查看所支持的存储引擎 |
'storage_engine%'; |
查询默认存储引擎 |
show warning; |
查看错误信息 |
help contents; |
查看帮助文档的目录列表 |
help <item>; |
<item>查看对应的帮助文档 |
create database 库名; |
创建数据库 |
use 库名; |
选择数据库 |
drop database 库名; |
删除数据库 |
create table 表名(); |
(属性名 数据类型 [约束], ...)创建表 |
constraint 约束名 约束() |
(属性名) 在创建表的时候用来设置约束及约束名 |
[constraint 约束名 ]primary key() |
(属性名, 属性名, ...) 设置多字段主键 |
constraint 约束名 foreign key (属性名1) references 表名(属性名2) |
“属性名1”是字表中设置外键的字段名, 属性名2是父表中设置主键约束的字段名 |
[unique] index | key [索引名] () |
(属性名 [(长度)] [asc | desc]) 创建[唯一]索引索引关联的字段 索引长度 升序|降序 |
fulltext index | key [索引名] () |
(属性名 [(长度)] [asc | desc]) 创建全文索引 |
index | key [索引名]() |
(属性名1 [(长度)] [asc | desc], ...) 创建多列索引 |
create [unique] index 索引名 on 表(); |
(属性名 [(长度)] [asc | desc]) 在已存在的表上创建[唯一]索引 |
create fulltext index 索引名 on 表(); |
(属性名 [(长度)] [asc | desc]) 在已存在的表上创建全文索引 |
create index 索引名 on 表(); |
(属性名1 [(长度)] [asc | desc], ...) 在已存在的表上创建多列索引 |
desc[ribe] 表名; |
查看对应表对象定义的信息 |
show create table 表名; |
查看表详细定义 |
drop table 表名; |
删除表 |
drop index 索引名 on 表名; |
删除索引 |
alter table 表名 ... (对表的一些操作) |
... rename [to] 表2; |
把表的名字改为表2 |
... add 属性名 类型; |
在表的最后增加字段 |
... add 属性名 类型 first; |
在表的第一个位置增加字段 |
... add 属性名 类型 after 属性名; |
在表的指定字段之后增加字段 |
... add [unique] index | key 索引名(); |
(属性名 [(长度)] [asc | desc]) 创建[唯一]索引 |
... add fulltext index | key 索引名(); |
(属性名 [(长度)] [asc | desc]) 创建全文索引 |
... add index | key 索引名(); |
(属性名 [(长度)] [asc | desc]) 创建多列索引 |
... drop 属性名; |
删除字段 |
... modify 属性名 类型; |
修改字段的数据类型 |
... modify 属性名 类型 first; |
将字段调整到第一个位置 |
... modify 属性名 类型 after 名2; |
将字段调整到名2字段之后 |
... change 旧名 新名 旧[新]类型; |
修改字段的名字[或同时修改名字和属性] |
explain |
P107 |
插入数据记录 |
insert into 表[(属性名, ...)] values(); |
(值, ...), ... 向表中添加数据 |
insert into 表(属性名, ...) 查询语句; |
将查询结果插入表中 |
更新数据记录 |
update 表 set 属性名=值, ... where ; |
更新表中满足条件的数据 |
删除数据记录 |
delete from 表 [where 条件]; |
删除表中[满足条件]的数据 |
单表数据记录查询 |
select [distinct] 属性名1, ... from 表; |
查看表中对应字段(可用*号表示所有字段)[去重后]的数据 |
属性名 --> 属性名[+-*/%]数值 |
查询结果显示经过相应计算的结果 |
属性名 --> 属性名[ as] 新属性名 |
查询结果将显示新属性名 |
属性名 --> concat() 新属性名 |
(属性名|字符串, ...)将concat中的内容连接到一起输出为新属性 |
属性名 --> 统计函数() 新属性名, ... |
统计行数: count(), avg(), sum(), max(), min() |
... where [not] 字段 条件; |
查询字段[不]满足某条件的数据记录 |
比较运算符: > < = !=(<>) >= <= 逻辑运算符: and(&&) or(||) xor(异或) not(!) |
[not] between 值1 and 值2; |
[不]在值1和值2之间 |
is [not] null |
[不]是空值 |
[not] in (值1, 值2, ...) |
[不]在集合中 (若集合中存在NULL, not in查不出任何结果) |
[not] like 字符串; |
|
搜索与字符串(也可以是数据类型)[不]匹配的结果 |
"_" |
通配符, 该通配符值能匹配单个字符串 |
"%" |
通配符, 该通配符值可以匹配任意长度(0~n)的字符串 |
"%%" |
表示查询所有记录 |
... order by 字段 [asc|desc], ...; |
查询结果按照字段进行[升序|降序]排序 |
... limit [初始偏移量, ] 显示行数; |
从第偏移量+1条数据开始显示相应行数 |
... group by 字段1, ...; |
通过字段的值进行分组并显示每组的随机一条记录(一般配合函数)多字段会从左往右依次按照字段进行分组 |
... group by ... having 条件; |
显示满足条件的分组后的数据 |
|
|
|
|
视图(5.0.1开始) |
create view 视图名 as 查询语句; |
创建视图 |
create or replace view 视图 as 查询; |
修改视图 |
alter view 视图名 as 查询语句; |
修改视图 |
show tables; |
查看表名和视图名 |
show create view 视图名; |
查看视图的定义信息 |
desc[ribe] 视图名 |
查看视图设计信息 |
drop view 视图名 [,视图2] |
删除一个或多个视图 |
show table status [from 库名] [like '表|视图']; 显示数据库里表和视图的详细信息 |
返回参数的含义 |
Name |
表和视图名 |
Engine |
表的存储引擎(4.1.2之前用Type表示) |
Version |
表的.frm文件的版本号 |
Row_format |
表的行存储格式 |
Rows |
表中行的数目 |
Avg_row_length |
表中行平均行长度 |
Data_length |
表数据文件的长度 |
Max_data_length |
表数据文件的最大长度 |
Index_length |
表索引文件的长度 |
Data_free |
表被整序后, 但是未使用的字节的数目 |
Auto_increment |
表中下一个AUTO_INCREMENT值 |
Create_time |
表的创建时间 |
Update_time |
表的最后一次更新时间 |
Check_time |
表的最后一次检查时间 |
Collation |
表的字符集 |
Checksum |
表的活性校验 |
Create_options |
表的额外选项 |
Comment |
表的注解 |
触发器(5及以上的版本) |
create trigger 触发器名 before | after 触发事件 on 操作表 for each row 触发器语句; |
before | after |
触发器事件之前 | 之后执行触发器语句 |
触发事件 |
即触发器执行条件, 包含delete、insert和update语句 |
操作表 |
操作后可能激活触发器的表 |
触发器语句 |
表示激活触发器后被执行的语句 |
begin 触发器语句1; ... end; |
可通过begin ... end 让触发器执行多条语句 |
show triggers; |
查看已存在的触发器的信息 |
返回参数 |
Trigger |
触发器的名称 |
Event |
触发器的激活事件 |
Table |
触发器对象触发事件所操作的表 |
Statement |
触发器激活时所执行的语句 |
Timing |
触发器所执行的时间 |
select * from triggers [where ...]; |
查看系统表triggers(提供触发器的所有详细信息)中的所有记录 |
drop trigger 触发器名 |
删除触发器 |