DDL
数据定义语言
库和表的管理
一、库的 管理
创建、修改、删除
二、表的管理
创建、修改、删除
创建:create
修改:alter
删除:drop
#一、库的管理
#1、库的创建
语法:
create database [if not exists] 库名;
#2、库的修改
rename database 库名 to 新库名
#更改库的字符集
alter database 库名 character set 字符集
#3、库的删除
drop database if exists 库名
#二、表的管理
#1.表的创建
语法:
create table 表名(
列名 列的类型【长度 约束】,
列名 列的类型【长度 约束】,
列名 列的类型【长度 约束】,
…
)
#2.表的修改
alter table 表名 add|drop|modify|change column 列名 【列类型 约束】
1.修改列名
alter table 表名 change [column] 旧列名 新列名 新类型;
2.修改列的类型或约束
alter table 表名 modify [column] 字段名 新类型;
3.添加新列
alter table 表名 add column 新列名 类型;
4.删除列
alter table 表名 drop column 列名;
5.修改表名
alter table 旧表名 rename to 新表名;
#3.表的删除
drop table if exists 表名;
#通用的写法:
create database if exists 旧库名;
create database 新库名;
drop table if exists 旧表名;
create table 表名();
#4.表的复制
1.仅仅复制表的结构
create table 新表名 like 旧表名;
2.复制表的结构+数据
create table 新表名
select * from 旧表名;
常见约束
含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性
分类:六大约束
not null:非空,用于保证该字段的值不能为空
比如姓名、学号等
default:默认,用于保证该字段有默认值
比如性别
primary key:主键,用于保证该字段的值具有唯一性,并且非空
比如学号、员工编号等
unique:唯一,用于保证该字段的值具有唯一性,可以为空
比如座位号
check:检查约束【mysql中不支持】
比如年龄、性别
foreign key:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值
在从表添加外键约束,用于引用主表中某列的值
比如学生表的专业编号,员工表的部门编号,员工表的工种编号
添加约束的时机:
1.创建表时
2.修改表时
create table 表名(
字段名 字段类型 列级约束
字段名 字段类型
表级约束
)
#一、创建表时添加约束
#1.添加列级约束
#2.添加表的约束
语法: 在各个字段的最下面
【constraint】 约束名 约束类型(字段名)
#二、修改表时添加约束
1、添加列级约束
alter table 表名 modify column 字段名 字段类型 新约束;
2、添加表级约束
alter table 表名 add 【constraint 约束名】 约束类型(字段名) 【外键的引用】;
#1.添加非空约束
#2.添加默认约束
**#3.添加主键
#4.添加唯一
#5.添加外键**
#三、修改表时删除约束
#1.删除非空约束
#2.删除默认约束
#3.删除主键
#4.删除唯一
#5.删除外键