一、概述 创建表的时候可以给表中的数据添加数据校验规则,这些规则称之为约束。 在创建表的时候,同时可以指定所插入数据的一些规则,比如某个字段不能为空值; 某个字段的值(比如年龄)不能小于零等等。这些规则称为约束。 约束是在表
一、概述
创建表的时候可以给表中的数据添加数据校验规则,这些规则称之为约束。
在创建表的时候,同时可以指定所插入数据的一些规则,比如某个字段不能为空值;
某个字段的值(比如年龄)不能小于零等等。这些规则称为约束。
约束是在表上强制执行的数据校验规则,它提供的自动保持数据库完整性的一种方法!
创建约束的时机:
---在建表的同时创建
---建表之后通过alter进行创建
二、约束类型
从作用上分类,可以分成两大类:
---表级约束:可以约束表中任意一列或者多列。可以定义除了not null意外的任意约束
---列级约束:只能约束其所在的某一列,可以定义任何约束。
1.主键约束(Primay Key Coustraint) 唯一性,非空性
2.唯一约束 (Unique Counstraint) 唯一性,可以空,但只能有一个
3.检查约束 (Check Counstraint) 对该列数据的范围、格式的限制(如:年龄、性别等)
4.默认约束 (Default Counstraint) 该数据的默认值
5.外键约束 (Foreign Key Counstraint) 需要建立两表间的关系并引用主表的列
非空约束(not null) 插入数据的时候某些列不允许为空
2. 唯一约束(unique key) 唯一键约束,可以限定某一个列的值是唯一的,唯一键的列一般被用作索引列。
3. 主键约束(primary key) 非空且唯一,任何一张表一般情况下最好有主键,用来唯一的标识一行记录,
4. 外键约束(foreign key) 当多个表之间有关联关系(一个表的某个列的值依赖与另一张表的某个值)的时候,需要使用外键
5. 检查约束(check) 可以根据用户自己的需求去限定某些列的值
三、主键约束(Primay Key Coustraint)
主关键字约束指定表的一列或几列的组合的值在表中具有惟一性,即能惟一地指定一行记录。
每个表中只能有一列被指定为主关键字,且IMAGE 和TEXT 类型的列不能被指定为主关键字,也不允许指定主关键字列有NULL 属性。
*** 多列组成的主键叫联合主键,而且联合主键约束只能设定为表级约束;单列组成的主键,既可设定为列级约束,也可以设定为表级约束。
联合主键:
联合主键就是用2个或2个以上的字段组成主键。用这个主键包含的字段作为主键,这个组合在数据表中是唯一,且加了主键索引。
-- 1.主键约束(Primay Key Coustraint) 唯一性,非空性
ALTER TABLE student ADD CONSTRAINT PK_STU_ID PRIMARY KEY (stu_id);
-- 插入两次一模一样的数据
INSERT INTO student ( stu_id, name, age, hiredate, classes, email, deptno )
VALUES( 20200707, ‘zhansgan‘, 111, to_date( ‘2020-07-09‘, ‘YYYY-MM-DD‘ ), ‘1‘, ‘[email protected]‘, 10 );
四、唯一约束
-- 2.唯一约束 (Unique Counstraint) 唯一性,可以空,但只能有一个
ALTER TABLE student ADD CONSTRAINT PK_STU_EMAIL UNIQUE (email);
-- 插入表中已存在的email数据
INSERT INTO student ( stu_id, name, age, hiredate, classes, email, deptno )
VALUES( 202007171806, ‘lisi‘, 24, to_date( ‘2020-07-17‘, ‘YYYY-MM-DD‘ ), ‘2‘, ‘[email protected]‘, 20 );
数据库---约束
--结束END--
本文标题: 数据库---约束
本文链接: https://lsjlt.com/news/7242.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0