表的约束

                                                                        表的约束
1、首先先来了解一下
  • 实体完整性:要求 表中不能存在两个完全相同的行,并且 每行必须是 非空且不重复的主键值。
  • 主键的约束:primary key,确保数据库中的每条记录的唯一性,也就是说作为主键的实体在表中不能重复出现。
  • 参照完整性(引用完整性):表与表之间的规则,作用于两个表或者两个以上的表之间,通过主键与外键的关系,使表中键值在相关表中保持一致
2、举例
  • 主键的约束
use       Information                --选择要操作的数据库
insert    class     value(1602,'物联网工程')    --1602 代表的是class表中的id号,后面代表的是专业名,这两个是在表中建立好的,并且id号是主键
insert    class     value(1602,'物联网工程')    --主键重复
这样的话会报错,“不能再对象...中插入重复键”
将第二局改为
insert    class     value(1601,'物联网工程')    --正确,有已经插入到表中
    如何加主键的约束呢?
  • 创建表的时候添加(1)
create    table     class
(
    class_id    int     primary    key            --直接在后面添加,这样创建出来的主键的名字是系统自己分配的
)  
  • 创建表的时候添加(2)
create    table     class
(
    class_id    int,           
    constraint    PK_class_id    Primary Key(class_id)        --这样创建的主键的名字是自己给的
  • 在表创建后加上主键约束
use          Information                    --选择要操作的数据库
alter     table    class             --更改表class , alter更改的关键词
add     Constraint     PK_Class_num     primary key(mem_num)    --add 增加,Constraint 约束,  PK_Class_num 给这个约束起的名字,primary key约束的关键字,                                                                    --mem_num将这个约束作用在这个实体上,将其设为主键  
  • 同时设置两个主键
create table  calss
(
    class_id    int,
    class_num   int,
    constraint    PK_class_id_num    Primary Key (class_id,class_num)        --同时将其设置成主键
)
  • 主键约束与外键约束
主键约束     例如:constraint    PK_class_id_num    Primary Key (class_id)        
外键约束     例如:constraint    FK_Class_id        Foreign Key(class_id2) references class(class_id)  --外键约束,class_id2 确保在class表的class_id中存在
  • 唯一约束
alter    table    calss
add constraint    UQ_class_id    unique(class_id),    --class_id在表中不能重复出现
add constraint     UQ_class_id     unique(class_id,class_num),     --class_id,class_num 在表中不能同时重复出现,单独一个还是可以的
  • 自定义约束
check 自定义约束
alter     table     class
add constraint    CK_Sex check(sex = '男' or sex = '女'or sex = '人')
add constraint    CK_Sex check sex in ('男','女','人')  
  • 其他约束
1、not null    不知道填什么可以用null代替,null表示未知值,其不是 0 也不是空字符
2、default(),   例如:tlevel char(1) default('0')    ,默认为0   ,    default()括号里面写的内容类型与前面的类型一致,如char
3、identity(1,1)    自增约束,从哪个值开始,每次增加多少



















  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 约束是用来保证数据完整性和一致性的规则。它们定义了对中数据的限制,以确保数据的有效性和一致性。 在 Oracle 中,常见的约束包括: 1. 主键约束(Primary Key Constraint):主键约束唯一标识中的每一行数据,并确保主键列的值不为空。 2. 唯一约束(Unique Constraint):唯一约束保证中指定列或列的组合的值是唯一的,但可以包含空值。 3. 外键约束(Foreign Key Constraint):外键约束定义了之间的关系,保证一个中的外键列的值必须在另一个的主键列中存在。 4. 非空约束(Not Null Constraint):非空约束确保指定列的值不为空。 5. 检查约束(Check Constraint):检查约束定义了对中数据的额外条件,只有满足条件的数据才能插入或更新到中。 要在创建时添加约束,可以使用 CREATE TABLE 语句的 CONSTRAINT 子句。例如: ```sql CREATE TABLE employees ( emp_id NUMBER PRIMARY KEY, emp_name VARCHAR2(50) NOT NULL, dept_id NUMBER, salary NUMBER, CONSTRAINT fk_dept FOREIGN KEY (dept_id) REFERENCES departments(dept_id), CONSTRAINT chk_salary CHECK (salary > 0) ); ``` 这个例子创建了一个名为 employees 的,其中包含主键约束(emp_id 列)、非空约束(emp_name 列)、外键约束(dept_id 列引用 departments 的 dept_id 列)和检查约束(salary 列的值必须大于 0)。 除了在创建时定义约束,还可以使用 ALTER TABLE 语句来添加、修改或删除约束
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值