MYSQL语法总结
数据库操作
- 查看所有数据库
show databases;
- 查看当前使用的数据库
select database();
- 创建数据库
create databases [db_name] charset=utf8;
- 删除数据库
drop database [db_name];
- 使用(进入)指定数据库
use database [db_name];
- 查看数据库表
show tables;
表操作
注:tb_name指表名;col_name指列名;val指列值
- 查看表结构
desc [tb_name];
show create table [tb_name];
注:结尾除‘;’符号外,还可以使用/g或者/G。只是显示格式的不同
- 创建表
create table [tb_name](
//字段名 数据类型 列属性/约束条件(可选),
//e.g.
id int unsigned auto_increment primary key not null,
) comment '表的注释信息'
- 修改表-添加字段
alter table [tb_name] add column [col_name] [类型];
- 修改表-修改字段-重命名版
alter table [tb_name] change [col_name] [N_col_name] [类型] after [A_col_name];
- 修改表-修改字段-不重命名版
alter table [tb_name] modify [col_name] [类型] after [A_col_name];
- 修改表-修改表名(两种方法)
alter table [tb_name] rename to [N_tb_name];
rename table [tb_name] to [N_tb_name],[tb_name1] to [N_tb_name];
- 删除表-删除字段(删除列)
alter table [tb_name] drop column [col_name],drop[col_name2];
- 删除表
drop table [tb_name];
列属性/约束相关
default
后跟默认值,当未显式指定该列值时,自动填入默认值。
not null
指定列不得填入null值。
unique
设定列值不可重复,可以填入重复null
auto_increment
设定列值(整型或浮点型)自动增长‘+1’
注:'auto_increment’只且只能设定一列,且必须建立索引
主键约束: 可以选定一个候选键(可以唯一标记行的列值)作为主键,一张表只有一个主键,且主键列值不可重复。
primary key
可设定主键,或primary key(col1,col2)
的形式设定组合,主键列默认有Not null属性
外键约束: 指定列与外表某列做对应,确保该列值在外表某列存在。
constraint foreign key(col1,col2) references [A_tb_name](col1,col2);
可设定外键约束。
增、删、改、查语句
- 查询列
select *,[col_name] from [tb_name];
- 插入一行
insert into [tb_name] (col1,col2...) values(val1,val2...);
//col与val一一对应,应注意顺序。如省略col值,则val值会按顺序填入。也可一次性插入多行
- 修改值
updata [tb_name] set col1=val1,col2=val2... where conditions;
- 删除行
delete from [tb_name] where conditions;
条件查询语句
- as 关键字
select [col_name] as a from tb_name as b;
//as用于给字段或表起别名
- 运算符
> , < , < = , ! = , a n d , o r , n o t >,<,<=,!=,and, or,not >,<,<=,!=,and,or,not
- 模糊查询
like
搭配%和_使用。%可匹配多个连续字符,_只匹配且只含一个字符
- 排序
order by[col_name] asc|dasc
\\asc从小到大排列,即升序
\\desc从大到小排序,即降序
- 截取部分行
limit start count
\\从start开始,获取count条数据,start默认值为0
- 聚合函数
count()
计算行数
max()
计算列最大值
min()
计算列最小值
sum()
计算列和
avg()
计算列平均值
group_concat()
统计字段内容
分组函数 group by
该函数需与聚合函数共同使用
having
将分组后的数据,进行条件过滤
count条数据,start默认值为0