MySQL数据库教程之四:MySQL约束与表的修改
MySQL数据库教程之四:MySQL约束与表的修改
一、MySQL约束
1、约束简介
约束(constraint)就是表中数据的限制条件,MySQL支持的约束有:主键(primary key)约束、非空(not null)约束、唯一性(unique)约束、默认(default)约束、检查(check)约束以及外键(foreign key)约束。
2、主键约束
语法规则:
字段名 数据类型 primary key,
如果一个表多个字段的组合设为主键,则primary key(字段1,字段2)。
①创建student表,有学号(Id)字段,设置为主键约束
②查看结构
③插入记录:
若不小心,再输入一条学号为:192025101的记录,则系统报错
④设置多字段为主键
重新建表student
查看表结构
3、非空约束
语法规则:
字段名 数据类型 not null
重新建表
插入数据
插入成功例子
若姓名不小为空,则报错(输入空为:null)
4、唯一约束
语法规则:
字段名 数据类型 unique
重新创建表student
查看表属性
插入数据
再插入同一班级,则报错
5、默认约束
重新创建表student
插入数据:
查看结果:
6、检查约束
例:创建成绩表,要求成绩字段score要大于等于0且小于等于100。
输入数据:超出范围,报错!
7、外键约束:重新建表,student表和cjb
⑴、先建立父表student
⑵、然后建立子表,完成父表与子表之间的关联
Cascade:父表记录的删除(delete)或者修改(update)操作,会自动删除或修改子表与之对应的记录
⑶、分别插入两条记录
⑷、在student表中删除张三的记录,观察cjb中记录的变化
其所对应的成绩记录也随之自动删除。
⑸、删除表:先删除子表,再删除父表
直接删除父表,报错
先删除子表,再删除父表
8、自增型字段:字段名 数据类型 auto_increment
重建学生表,对其学号字段进行自增
⑴、建立学生表
⑵、默认情况下,自增型字段从1开始递增,且步长为1。
⑶、若指定第一条记录初始值,后面记录则在前一记录基础上加1
二、修改表结构
显示表结构:
1、增加新字段:增加性别(Sex)字段
查看表结构
2、删除字段
删除Sex字段
3、修改字段:alter table 表名 change 旧字段名 新字段名 数据类型
把Id修改成stu_no