南京个人网站建设,网络推广方案微xiala11,wordpress亿起发,用dw做一个简单的网页文章目录 一、完整性约束概述二、设置表字段的主键约束三、设置表字段的外键约束四、设置表字段的非空约束五、设置表字段唯一约束六、设置表字段值自动增加七、设置表字段的默认值八、调整列的完整性约束 一、完整性约束概述
完整性约束条件是对字段进行限制#xff0c;要求… 文章目录 一、完整性约束概述二、设置表字段的主键约束三、设置表字段的外键约束四、设置表字段的非空约束五、设置表字段唯一约束六、设置表字段值自动增加七、设置表字段的默认值八、调整列的完整性约束 一、完整性约束概述
完整性约束条件是对字段进行限制要求用户对该属性进行的操作符合特定的要求。如果不满足完整性约束条件数据库系统将不再执行用户操作MySQL中基本的完整性约束条件如下表所示
二、设置表字段的主键约束
主键是表的一个特殊字段能唯一标识该表中的每条信息。主键和记录的关系如同身份证和人的关系。主键用来标识每个记录每个记录的主键值都不同。身份证用来表明人的身份每个人都具有唯一的身份号。设置表的主键是指在创建表时设置表的某个字段为该表的主键。主键的主要目的是帮助数据库管理系统以最快的速度查找到表的某一条信息。主键必须满足的条件就是主键必须是唯一的表中的任意两条记录的主键字段的值不能相同并且是非空值。主键可以是单一的字段也可以是多个字段的组合。 1.单字段主键 单字段主键的语法规则如下
CREATE TABLE tablename(propName propType PRIMART KEY,.....);或者
CREATE TABLE tablename(propName propType,......PRIMARY KEY(propType));MySQL支持给主键设置名字
CREATE TABLE tablename(propName propType,.....CONSTRAINT pk_name PRIMARY KEY(propType));给id字段的PK约束设置一个名字可以执行SQL语句CONSTRAINT。 2.多字段主键 主键是由多个属性组合而成时在属性定义完之后统一设置主键。语法规则如下
CREATE TABLE tablename(propName1 propType, propName2 propType,......[CONSTRAINT pk_name] PRIMART KEY(propName1, propName2));三、设置表字段的外键约束
外键是表的一个特殊字段外键约束是为了保证多个表通常为两个表之间的参照完整性即构建两个表的字段之间的参照关系。设置外键约束的两个表之间具有父子关系即子表中某个字段的取值范围由父表决定。例如表示一个班级和学生的关系即每个班级有多个学生。首先应该有两个表班级表和学生表然后学生表有一个表示班级号的字段其依赖于班级表的主键这样的字段就是学生表的外键通过该字段班级表和学生表建立了关系。 一个班级表 每一行对应着一个班级而一个班级对应着多个学生所以班级表和学生表的关系就是“一对多”。 在设置外键约束时设置外键约束的字段必须依赖于数据库中已经存在的父表的主键同时外键可以为空NULL。设置表中的某字段的外键约束非常简单可以在MySQL数据库管理系统中通过SQL语句FOREIGN KEY来实现。其语法形式如下所示
CREATE TABLE tablename_1(proName1 proType,proName2 proType,......[CONSTRAINT fk_name] FOREIGN KEY(propName1) REFERENCES table2_name(table2_column));其中tablename_1参数时要设置外键的表名proName1参数是要设置外键的字段tablename_2是父表的名称table2_column是父表中设置主键约束的字段名。
四、设置表字段的非空约束
当数据库表中的某个字段上的内容不希望设置为NULL时可以使用非空约束进行设置非空约束在创建数据库表时为某些字段加上“NOT NULL”约束条件保证所有记录中的该字段都有值。如果在用户插入的记录中该字段为空值那么数据库管理系统会报错。设置表中某字段的非空约束非常简单在MySQL数据库管理系统中是通过SQL语句NOT NULL来实现其语法形式如下
CREATE TABLE tablename(propName propType NOT NULL,.....);五、设置表字段唯一约束
当数据库表中某个字段上的内容不允许重复时可以使用唯一约束进行设置唯一约束在创建数据表时为某些字段加上UNIQUE约束条件保证所有记录中该字段上的值不重复。如果在用户插入的记录中该字段上的值与其他记录中该字段上的值重复那么数据库管理系统会报错。设置表中某字段的唯一约束非常简单可以在MySQL数据库管理系统中通过SQL语句UNIQUE来实现其语法形式如下
CREATE TABLE tablename(propName propType UNIQUE, ......);注意UNIQUE约束允许受约束的字段出现多个空值不算重复。
六、设置表字段值自动增加
AUTO_INCREMENT是MySQL唯一扩展的完整性约束当向数据库表中插入新记录时字段上的值会自动生成唯一的ID。在具体设置AUTO_INCREMENT约束时一个数据库表中只能有一个字段使用该约束该字段的数据类型必须是整数类型。由于设置AUTO_INCREMENT约束后的字段会生成唯一的ID因此该字段也经常会同时设置成主键。设置表中某字段值的自动增加约束非常简单可以在MySQL数据库管理系统中通过SQL语句AUTO_INCREMENT来实现其语法形式如下
CREATE TABLE tablename(propName propType AUTO_INCREMENT, .....);在上述语句中tablename参数表示所要设置非空约束的字段名字propName参数为属性名propType为属性类型propName字段要设置自动增加约束。默认情况下字段propName的值从1开始增加每增加一条记录记录中该字段的值就会在前一条记录或已存在的最大值包括曾经存在的的基础上加1。 注意在MySQL8中AUTO_INCREMENT必须设置为键主键、外键和唯一键均可否则就会报错
七、设置表字段的默认值
当为数据库表中插入一条新记录时如果没有为某个字段赋值数据库系统就会自动为这个字段插入默认值。为了达到这种效果可以通过SQL语句关键字DEFAULT来设置。设置数据库表中某字段的默认值非常简单可以在MySQL数据库管理系统中通过SQL语句DEFAULT来实现其语法形式如下
CREATE TABLE tablename(propName propType DEFAULT defaultvalue, .....);注意如果没有设置则默认为空。
八、调整列的完整性约束
1.修改主键、外键和唯一键 新增语句
alter table [table_name] add constraint [constraint_name] [unique key | primary key | foreign key] ([column_name]);添加约束 删除约束 通过如下命令查询键值的约束名
show index 或 keys from 表名执行如下命令删除
主键alter table 表名 drop primary key;
外键或唯一键alter table 表名 drop index 约束名;2.修改默认值DEFAULT、自增长和非空 使用如下语法重新定义即可
alter table 表名 modify 列名 类定义;