DDL语句
主要是数据定义语句(Data Define Language),用来定义表,数据库结构的语句。
库相关
创建数据库
create database 数据库名;
查看数据库
-- 查看数据库定义
show create database 数据库名;
show create database test;
修改数据库编码
默认编码格式:utf8mb4;
-- 修改数据库编码格式为mb4
ALTER DATABASE test CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
表相关
查看表
-- 查看表
show tables;
创建表
-- 创建表
-- comment 表示注释
create table b(
id int not null comment '编号',
name varchar(20) default 'hanser' comment '姓名',
score double(5,2) comment '分数',
birthday date comment '生日',
sex enum('男','女') comment '性别',
hobby set ('唱','跳','rap'),
status char comment '状态'
);
使用嵌套子查询,创建表:
-- 只复制表结构
create table dep like 另一张表;
-- 复制表结构同时插入数据
create table dep as (select * from t_dep);
查看表定义
-- 查看表的定义语句
show create table b;
-- 修改表的默认字符集(影响新建字段和数据)
ALTER TABLE 表名 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-- 修改整个表中所有字段的字符集
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
查看表结构
-- 查看表结构
desc 表名;
desc b;
删除表和字段
-- 删除表
drop table 表名;
-- 删除表的某一个字段
-- 其中 COLUMN 关键字是可写可不写的:
alter table 表名称 drop [column] 字段名称;
ALTER TABLE 表名 DROP 字段名;
增加字段
-- 增加表结构中的字段
ALTER TABLE 表名 ADD [COLUMN] 字段名 数据类型 [约束条件] [位置];
-- 默认添加字段到最后一列
ALTER table b add status int not null comment '状态';
-- 默认添加字段到第一列位置
ALTER table sid add status int not null comment '状态' first;
-- 添加字段在某一个字段之后
ALTER table b add status int not null comment '状态' after b1;
修改类型
-- 修改字段的数据类型
alter table 表名称 modify [column] 字段名称 新数据类型;
alter table b modify nid int4 not null ;
修改列名
-- 修改字段的名称
alter table 表名称 change [column] 旧字段名称 新字段名称 新的数据类型;
alter table b change nid vid int;
修改列的位置
alter table 表名称 modify 【column】字段名 数据类型 first;
alter table 表名称 modify 【column】字段名 数据类型 after 另一个 字段;
修改表名称
alter table 旧表名 rename 新表名;
rename table 旧表名 to 新表名;