一、DDL数据库定义语言
1.create创建数据库对象
创建数据库语法:
create database if not exists 数据库名;
创建表语法:
create table if not exists 表名(
字段名1 字段类型 约束
字段名2 字段类型 约束
);
exists: 存在返回true,不存在返回false
not exists: 不存在返回true,存在返回false
复制表语法:
create table 新表名 (select 字段列表 from 旧表名);
字段名:
1、组成:字母、数字、符号
2、不区分大小写,多个单词之间用下划线隔开
3、不能有关键字
数据类型:
数值:
整数:int、bigint
小数:float、double、decimal
字符:char、varchar、text、blob
日期:date、datetime、time、timestamp
布尔:tinyint,1表示true,0表示false
约束:
数据的完整性:一致性+准确性
完整性的实现方式:
1、域完整性/字段完整性:
①非空约束:not null
②默认值:default
③数据类型
2、实体完整性:
①索引,唯一键
②主键:primary key
复合主键:primary key(多个字段名称用逗号隔开)
③自动增长:auto_increment
3、表完整性
外键:foreign key
4、自定义完整性
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 字段名;