必备 SQL 技能:常用增删改查语句汇总

创建库、 删除库、 使用库

创建数据库:create database database_name
删除数据库:drop database database_name
使用数据库:use database_name

创建数据表

创建表语句: create table table_name (字段1 字段类型 字段约束,字段2 字段类型 字段约束……)
创建与现有表一样字段的新表:create table 表名 like 已有表名
将查询结果创建新表:create table 表名 select * from 现有表 where…(查询语句)

查看表结构,查看建表语句,删除表

查看表结构:desc table_name;
查看建表语句:show create table table_name;
删除表:drop table table_name;

修改表结构

对数据表重命名:alter table table_name rename new_table_name;

增加字段:alter table 表名 add 字段名 字段类型 字段约束;
(PS:可用 first/after 函数调整字段位置)
删除字段:alter table 表名 drop 字段名;

修改字段类型及约束:alter table 表名 modify 字段名 新类型 新约束;
(PS:如不加新约束,会将建表时的约束清空,主键、外键、唯一约束除外)
修改字段名称:alter table 表名 change 字段名 新字段名 新字段类型 新约束条件;

修改数据库引擎:alter table table_name engine=;
(PS:主要有 InnoDB 和 MyISAM,InnoDB 对经常修改表数据友好,MyISAM 对经常查询表友好)

增加主键:alter table table_name add primary key(字段名);
删除主键:alter table table_name drop primary key;

增加外键:alter table table_name add constraint 外键名 foreign kek(字段名) references 主表(主键);
删除外键:alter table table_name drop foreign key 外键名;

删除唯一约束:alter table table_name drop index 字段名;
设置自动增长的初始位置:alter table table_name auto_increment=n;

向表中插入数据

向表指定字段插入多条数据:insert into表名(字段1,字段2…) values(数据1,数据2…),(数据1,数据2…),(数据1,数据2…),(数据1,数据2…);
将查询结果插入表:insert into 表名 select 字段名 from 表名(查询语句);
加载外部数据到表:Load data localinfile ‘数据路径’Into table 表名Fields terminated by ‘分隔符’Ignored 1 lines;

更新表数据、删除表数据

更改满足条件的字段数据:update 表名 set 字段计算1,字段计算2…where 条件;
删除满足条件的数据:delele from 表名 where 条件;
删除所有数据:方式一:delete from 表名;方式二:truncate table 表名; 方式一会逐条进行删除,速度较慢,方式二直接删除,速度快;另外对自增字段,方式一不能重置自增字段的初始位置,方式二可以重置自增字段的其实位置;

查找数据

Select列名 From 数据表名 Where 查询条件 Group by 分组字段 Having 分组后的约束条件 Order by 排序字段 Limit 限制输出行数。

想了解更多的简单的 SQL 语句,个人推荐两本自己看过的书《SQL 必知必会》、《MySQL 必知必会》