相关语法
创建数据库
create database if not exists 数据库名 CHARACTER SET 字符集名如 utf8mb4;
查询当前所有数据库
show database;
查看正在使用的数据库
select database();
查看指定数据库下的所有表
show tables from 数据库名;
查看创建数据库信息
show create database 数据库名;
切换/使用数据库
user 数据库名;
修改数据库字符集
alter database 数据库名 character set 字符集;
删除数据库
drop database if exists 数据库名;
创建表
方式一
create TABLE if not exists 表名(
字段一 类型 [约束] [默认值],
字段二 类型 [约束] [默认值],
...
);
方式二(将结果集复制过来)
create table if not exists 表名
as
select * from t1
修改表
alter table add 字段名 类型; //新增字段
alter table modify 字段名 类型; //修改字段
alter table change 列名 新列名 新数据类型; //重命名列、类型
alter table drop 列名; //删除列
rename table 旧表名 to 新表名; //重命名表
alter table 旧表名 rename [to] 新表名; //重命名表
删除表
drop table if exists 数据表1[,数据表2...];
清空表(截断表)–不能回滚
truncate table 表名;
mysql8新特性–DDL原子化
支持事务的完整性。
例如:删除t1表和t2表,其中t2是不能存在的。
执行语句:drop table t1,t2;
在mysql5.7中,结果是:报t2不存在的错误且会删除t1表
在mysql8中,结果是:报t2不存在的错误且不会删除t1表