数据定义语言 库和表的管理
创建、修改、删除
创建、修改、删除
创建: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.删除外键