一、常用语句
1、对数据记录的操作
- 插入数据:
所有列都要插入数据
insert into 表名 (所有列名:列1,列2....)values (所有值:值1,值2...)
指定插入数据
insert into 表名 set 列名1 = 值1,列名2 = 值2...
- 更新数据:
update 表名 set 列名1 = 值1,列名2 = 值2
where 过滤条件
order by 指定排序
limit 限制数量
- 删除数据:
delete from 表名 where 限制条件(无此条件,将删除所有数据)
- 模糊查询:
a%b 表示,a开头,b结尾
- 分组查询:
单独使用group by 关键字,查询结果只会显示第一条记录
当group by 与group_concat()函数一起使用,会把每个分组的字段值都显示出来。
- 过滤分组
where 用于数据分组前过滤数据行,而having用于数据分组后过滤分组。
where 针对数据库文件进行过滤,having 针对查询结果过滤
where 查询条件中不可以使用字段别名,having查询条件可以使用别名
- 子查询
子查询常出现在where字句中
where 表达式 操作符 (子查询)
操作符包含:比较操作符、in 、not in 、exists 、not exists 等
exists 、not exists :判断子查询的结果集是否为空,不为空则返回true,为空则返回false
- 正则表达式 regexp
列名 regexp '匹配方式'
操作符中常用的匹配方式
2、对结构的操作
- 新增字段
alter table 表名 add 新列名 after 列名1
新增add
after 新增列的位置
alter table table_c add name varchar(20) after id;
- 删除字段
alter table 表名 drop 列名
drop 删除
- 修改字段字段名
alter table 表名 change 列名1 列名2 字段类型
//将name 重命名为 firstname alter table table_c change name firstname varchar(20);
- 修改字段类型
alter table 表名 modify 列名 新类型
// 将 age的类型由 int改为 varchar alter table table_c modify age varchar(10); //再改回来 alter table table_c modify age int(3);
- 修改字段描述
alter table 表名 modify column 列名 字段类型 comment '新注释'