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)字段,设置为主键约束

MySQL数据库教程之四:MySQL约束与表的修改

②查看结构

MySQL数据库教程之四:MySQL约束与表的修改

③插入记录:

MySQL数据库教程之四:MySQL约束与表的修改

若不小心,再输入一条学号为:192025101的记录,则系统报错

MySQL数据库教程之四:MySQL约束与表的修改

④设置多字段为主键

重新建表student

MySQL数据库教程之四:MySQL约束与表的修改

查看表结构

MySQL数据库教程之四:MySQL约束与表的修改

3、非空约束

       语法规则:

              字段名 数据类型 not null

       重新建表

       MySQL数据库教程之四:MySQL约束与表的修改

       插入数据

       插入成功例子

       MySQL数据库教程之四:MySQL约束与表的修改

       若姓名不小为空,则报错(输入空为:null)

       MySQL数据库教程之四:MySQL约束与表的修改

4、唯一约束

       语法规则:

              字段名 数据类型 unique   

       重新创建表student

MySQL数据库教程之四:MySQL约束与表的修改   

查看表属性

 

       MySQL数据库教程之四:MySQL约束与表的修改

 插入数据

       MySQL数据库教程之四:MySQL约束与表的修改

再插入同一班级,则报错

MySQL数据库教程之四:MySQL约束与表的修改

5、默认约束

重新创建表student

MySQL数据库教程之四:MySQL约束与表的修改

插入数据:

MySQL数据库教程之四:MySQL约束与表的修改

查看结果:

MySQL数据库教程之四:MySQL约束与表的修改

6、检查约束

例:创建成绩表,要求成绩字段score要大于等于0且小于等于100。

MySQL数据库教程之四:MySQL约束与表的修改

输入数据:超出范围,报错!

MySQL数据库教程之四:MySQL约束与表的修改

7、外键约束:重新建表,student表和cjb

⑴、先建立父表student

MySQL数据库教程之四:MySQL约束与表的修改

⑵、然后建立子表,完成父表与子表之间的关联

Cascade:父表记录的删除(delete)或者修改(update)操作,会自动删除或修改子表与之对应的记录

MySQL数据库教程之四:MySQL约束与表的修改

⑶、分别插入两条记录

MySQL数据库教程之四:MySQL约束与表的修改

MySQL数据库教程之四:MySQL约束与表的修改

⑷、在student表中删除张三的记录,观察cjb中记录的变化

其所对应的成绩记录也随之自动删除。

 

MySQL数据库教程之四:MySQL约束与表的修改

⑸、删除表:先删除子表,再删除父表

直接删除父表,报错

MySQL数据库教程之四:MySQL约束与表的修改

先删除子表,再删除父表

MySQL数据库教程之四:MySQL约束与表的修改

8、自增型字段:字段名  数据类型 auto_increment

重建学生表,对其学号字段进行自增

⑴、建立学生表

MySQL数据库教程之四:MySQL约束与表的修改

⑵、默认情况下,自增型字段从1开始递增,且步长为1。

MySQL数据库教程之四:MySQL约束与表的修改

MySQL数据库教程之四:MySQL约束与表的修改

⑶、若指定第一条记录初始值,后面记录则在前一记录基础上加1

 

MySQL数据库教程之四:MySQL约束与表的修改

MySQL数据库教程之四:MySQL约束与表的修改

二、修改表结构

显示表结构:

MySQL数据库教程之四:MySQL约束与表的修改

1、增加新字段:增加性别(Sex)字段

MySQL数据库教程之四:MySQL约束与表的修改

查看表结构

MySQL数据库教程之四:MySQL约束与表的修改

2、删除字段

删除Sex字段

MySQL数据库教程之四:MySQL约束与表的修改

3、修改字段:alter table 表名 change 旧字段名 新字段名 数据类型

把Id修改成stu_no

MySQL数据库教程之四:MySQL约束与表的修改