欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQL创建数据表的约束

程序员文章站 2024-03-21 10:43:10
...

1.什么是约束

约束是在表上强制执行的数据校验规则.

约束主要用于保证数据库的完整性。

当表中数据有相互依赖性时,可以保护相关的数据不被删除.

2.约束的概述

​ 列级约束

--列级约束,建表的时候写在列的后面
create table dept(dept_id int primary key,      
                  name varchar(50) not null 
                 );
                 
 --插入数据
 insert into dept values(1,"人事部"),(2,"研发部"),(3,"市场部"),(4,"培训部");
 
 
 

​ 表级约束

--表级约束:在所有列写完之后给出约束
create table employee(id int,
                      name varchar(50),
                      dept_id int,
                   CONSTRAINT ek PRIMARY KEY(id),
                   CONSTRAINT fk_emp_dept  FOREIGN KEY(dept_id) REFERENCES dept(dept_id)
                     );
--在员工表里面插入数据
insert into employee values(1,"张三",1);
--总结:有主键约束不能不写主键,不能重复
	 --有外键约束的时候,外键列的值不能写参考的表里面没有的值
	 --被参考的表是不能随意修改更新删除的,参考的表可以删除更新修改
	 --如果要删除修改被参考的表,需要先把外键删除掉
	 --在实际开发中,一般不会手动设置外键	 
	 --写在列级约束上的外键可以成功但是没有有什么用
	

​ 添加约束

--添加列级约束
alter table 表名 modify column 字段名 字段类型 新约束;
--添加表级约束
alter table 表名 add [CONSTRAINT 约束名] 约束类型(字段名)
--添加外键约束
alter table 表名 add CONSTRAINT 约束名 FOREIGN KEY(当前表的外键字段) REFERENCES 参考表(参考表的主键 )

​ 删除约束

--1.删除非空约束
alter table 表名 modify column 列名 数据类型 约束;
--2.删除主键
alter table 表名 drop primary key;
相关标签: Java学习