一、DDL数据库定义语言
1、create
①创建数据库:create database if not exists 数据库名;
②创建表:
create table if not exists 表名(
字段名 字段类型 约束 注释
);
字段名:
1、组成:字母、数字、符号
2、不区分大小写,多个单词之间用下划线隔开
3、不能有关键字
数据类型:
数值:
整数:int、bigint
小数:float、double、decimal
字符:char、varchar、text、blob
日期:date、datetime、time、timestamp
布尔:tinyint,(注意mysql不直接支持布尔,1表示true,0表示false)
约束:
数据的完整性:一致性+准确性
完整性的实现方式:
1、域完整性/字段完整性:
①非空约束:not null
②默认值:default
③数据类型
2、实体完整性:
①索引,唯一键
②主键:primary key
复合主键:primary key(多个字段名称用逗号隔开)
③自动增长:auto_increment
3、表完整性
外键:foreign key
4、自定义完整性
事务、视图、函数、存储过程…
③使用create复制表:create table 新表名 (select 字段列表 from 旧表名);
2.drop
①删除数据库:drop database if exists 数据库名;
②删除表:drop table if exists 表名;
③truncate table 表名;
注意:truncate如果当前表有被外键引用,那么不能用truncate删除;会删除整张表的所有数据,删除后不能恢复;会让标识列重新开始。
3.alter(修改数据库对象)
①修改表名:alter table 旧表名 rename [to] 新表名;
②添加字段:alter table 表名 add [column] 字段名 字段类型 约束;
③修改字段:
④alter table 表名 change 原字段名 新字段名 字段类型 约束;
⑤alter table 表名 modify 字段名 字段类型 约束;
注意:modify修改数据类型和约束,不修改字段名。
⑥添加主键约束:alter table 表名 add constraint 主键名 primary key 表名(主键字段);
⑦添加外键约束:alter table 表名 add constraint 外键名 foreign key (外键字段) references 主键表(主键字段);
⑧删除字段:alter table 表名 drop 字段名;