MySQL-完整性约束

匿名 (未验证) 提交于 2019-12-02 22:06:11

完整性约束,保证关系型数据库中数据的准确性和一致性。数据完整性通过引用完整性实现,引用完整性包含了很多类型
主键约束
create table test_tbl( id integer(10) NOT NULL PRIMARY KEY, emp_name VARCHAR(10) NOT NULL);
create table test_tbl( id integer(10) NOT NULL, emp_name VARCHAR(10) NOT NULL, PRIMARY KEY (ID));

唯一性约束
表中某个字段的值在每条记录中是唯一的,类似于主键。对某个字段设置了主键,也可以对另外的字段设置唯一性约束
create table test_tbl( id integer(10) NOT NULL primary key, emp_name VARCHAR(10) NOT NULL UNIQUE);

外键约束
保证表与表之间引用的完整性,一个被定义为外键的字段用于引用另一个表里的主键
create table test_tbl( id integer(10) NOT NULL primary key, emp_name VARCHAR(10) NOT NULL UNIQUE), CONSTRAINT ID_FK FOREIGN KEY (ID) REFERENCES EMPLOYEE_TBL (EM_ID)

```ALTER TABLE EMPLOYEE_PAY_TBL
ADD CONSTRAINT EMP_ID_FK FOREIGN KEY (EMP_ID) REFERENCES EMPLOYEE_TBL (emp_id);

NOT NULL 约束
默认为null,当定义为not null的字段在每条记录里都必须有值

检查约束
create table test_tbl( id integer(10) NOT NULL primary key, emp_name VARCHAR(10) NOT NULL UNIQUE), CONSTRAINT CHK_EMP_ZIP CHECK (EMP_ZIP in ('46234','123423'));
去除约束
去除已定义的约束:
ALTER TABLE TEST DROP CONSTRAINT EMPLOYEES_PK;

```ALTER TABLE TEST DROP PRIMARY KEY;
````

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!