Mysql第三篇【DDL常见操作】
什么是DDL?
答:
DDL:Data Define Language数据定义语言,主要用来对数据库、表进行一些管理操作。
相关命令
库管理
create database [if not exists] 表名 创建某个数据库
drop database [if exists] 表名 删除某个数据库
表管理
创建表
create table 表名(
字段1 类型[(宽度)] [约束条件] [comment '字段注释'],
字段2 类型[(宽度)] [约束条件] [comment '字段注释'],
字段3 类型[(宽度)] [约束条件] [comment '字段注释']
)
说明:
-
在同一张表中,字段名不能相同
-
宽度和约束条件为可选参数,字段名和类型是必须的
-
最后一个字段后不能加逗号
-
类型是用来限制字段必须以何种数据类型来存储记录
-
类型其实也是对字段的约束(约束字段下的数据必须为xx类型)
-
类型后写的约束条件是在类型之外的额外添加的约束
约束条件
not null 不能为空
default 值 设置默认值
primary key 设置主键
方式1:
create table demo1(
id int primary key comment '主键',
username varchar(10) not null
)
方式2:
create table demo2(
id int comment '主键',
username varchar(10) not null,
primary key(id)
)
方式2支持多字段作为主键,多个之间用逗号隔开,语法:primary key(字段1,字段2,...,字段n)
foreign key (本表字段) references 另外一张表(另外一张表字段) 将本表的字段设置为外键
说明:
-
两张表中需要建立外键关系的字段类型需要一致
-
要设置外键的字段不能为主键
-
被引用表的字段需要为主键
-
向外键表插入值时,主键表必须存在该值
unique key 标识该字段的值唯一
方式1:
create table demo3{
id int unique key primary key comment '主键',
username varchar(5) not null unique key
}
方式2:
create table demo4(
id int primary key,
username varchar(5) not null,
unique key(username)
)
auto_increment 标识该字段自动增长(该字段是主键,且是整数类型)
表的相关命令
drop table [if exists demo5] 删除表
alter demo6 rename [to] 新的表名 对表重命名
alter table demo7 comment '注释' 对表进行注释
create table demo8 like 已有表 复制已有表结构并创建新表
create table demo9 [as] select * from 已有表 [where 条件] 复制表数据创建新表
alter table demo10 add [column] 列名 类型[(宽度)] [约束条件] 添加列
alter table demo11 add [column] 列名1 类型[(宽度)] [约束条件],add [column] 列名2 类型[(宽度)] [约束条件] 添加多个列
alter table demo12 change 列名 新列名 类型[(宽度)] [约束条件] 或 alter table demo11 modify 列名 类型[(宽度)] [约束条件] 修改列,change可以修改列名,modify不可以修改列名
alter table demo13 [column] drop 列名 删除列

浙公网安备 33010602011771号