一、数据库的增、删、改
- 创建数据库:create database 库名; 或者加入字符集和排序规则 create database t_aouto default charset utf8 collate utf8_general_ci;
- 修改数据库字符集:alter database t_aouto default charset utf8 collate utf8_general_ci;
- 删除数据库:drop database 库名;
- 查看数据库:show databases;
- 使用数据库:use 库名;
二、创建表
- 创建表语句:create table 表名(字段名1 字段类型 字段约束,字段2 字段类型 字段约束...);
- 创建与现有表一样字段的新表:create table 表名 like 已有表名;
- 将查询结果创建新表:create table 表名 select * from 现有表 where 条件;
- 常用字段类型 :int()、bigint()、char()、varchar()、date、datetime()、text等等
- 常用字段约束:not null、default 0、auto_increment、primary key
三、查看表结构、查看建表语句、删除表
- 查看表结构:desc 表名;
- 查看建表语句:show create table 表名;
- 删除表:drop table 表名; # 表不存在了
四、修改表结构
- 对数据表重命名:alter table 表名 rename 新表名;
- 增加字段:alter table 表名 add 字段名 字段类型 字段约束; (PS:可用first/after函数调整字段位置)
- 删除字段:alter table 表名 drop 字段名;
- 修改字段类型及约束:alter table 表名 modify 字段名 新类型 新约束;(PS:如不加新约束,会将建表时的约束清空,主键、外键、唯一约束除外)
- 修改字段名称:alter table 表名 change 字段名 新字段名 新字段类型 新约束条件;
- 修改数据库引擎:alter table 表名 engine=;(PS:主要有InnoDB和MyISAM,InnoDB 经常修改表数据速度快些,MyISAM 经常查询表速度快些)
- 增加主键:alter table 表名 add primary key(字段名);
- 删除主键:alter table 表名 drop primary key;
- 增加外键:alter table 表名 add constraint 外键名 foreign kek(字段名) references 主表(主键);
- 删除外键:alter table 表名 drop foreign key 外键名;
- 删除唯一约束:alter table 表名 drop index 字段名;
五、插入数据
- 向表指定字段插入多条数据:insert into 表名(字段1,字段2...) values(数据1,数据2...),(数据1,数据2...),(数据1,数据2...),(数据1,数据2...);
- 将查询结果插入表:insert into 表名 select 字段名 from 表名 where 条件;
- 加载外部数据到表:Load data local infile ‘数据路径’Into table 表名 Fields terminated by ‘分隔符’ Ignored 1 lines;
六、更新表数据、删除表数据(注意只删除数据,并不删除表本身)
- 更改满足条件的字段数据:update 表名 set 字段1=值1,字段2=值2... where 条件;
- 删除满足条件的数据:delele from 表名 where 条件;
- 删除所有数据:方式一:delete from 表名; 方式二:truncate table 表名;方式一会逐条进行删除,速度较慢,方式二直接删除,速度快;另外对自增字段,方式一不能重置自增字段的初始位置,方式二可以重置自增字段的初始位置;