SQLServer的基本语句(五个约束)_03

本文详细介绍了数据库中的五种主要约束类型:主键、唯一、检查、默认值和外键,并提供了创建这些约束的SQL语句示例。通过示例展示了如何在创建表时以及表创建后设置这些约束,帮助读者理解如何确保数据库数据的完整性和一致性。
摘要由CSDN通过智能技术生成

一:添加约束

        1、主键约束:(主键是不允许重复,不允许为null的)

                (1)、在创建表的时候设置主键

                        create table 表名(列名1 数据类型 primary key, 列名2 数据类型.....)

                (2)、在创建表后设置主键

                        alter table 表名 add constraint 约束名 primary key(要设为主键的列名)

         2、唯一约束:(唯一键不允许重复,但允许有且只有一个null)

                 (1)、在创建表的时候设置唯一键

                        create table 表名(列名1 数据类型 unique, 列名2 数据类型.....)

                 (2)、在创建表后设置唯一键

                        alter table 表名 add constraint 约束名 unique(要设为唯一键的列名)

         3、Check约束(自定义约束):           

                 (1)、在创建表的时候设置check键

                        create table 表名(列名1 数据类型 check(列名1 like ‘取值范围’), 列名2 数据类型.....)

                 (2)、在创建表后设置check键

                        alter table 表名 add constraint 约束名 check(列名1 like ‘取值范围’)

         4、默认值约束:    

                 (1)、在创建表的时候设置check键

                        create table 表名(列名1 数据类型 check(列名1 like ‘取值范围’), 列名2 数据类型.....)

                 (2)、在创建表后设置check键

                        alter table 表名 add constraint 约束名 check(列名1 like ‘取值范围’)

         5、外键约束:

                 alter table 外键表 add constraint 约束名 foreign key(外键(列名))                                          references 主键表(主键(列名))

use pas
create table tb1(
    id	    int		    primary key,
    name    varchar(10)	    unique,
    age     int             check(age like '1[0-5]'),
    sex	    varchar(2)	    default '男'
)
create table tb1(
    id	    int            not null,
    name    varchar(10),
    age     int,
    sex	    varchar(2)
)
alter table tb1 add constraint PK_id
	primary key (id)
alter table tb1 add constraint UQ_name
	unique (name)
alter table tb1 add constraint CK_age
	check(age like '1[0-5]')
alter table tb1 add constraint UQ_sex
	default '男' for sex

(两种方法所创建出来的表结构是一样的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值