SQL 中的约束语句

数据库:SQL Server

通用语法

create table [table_name]( 
  [column_1] [type] [constraint],
   ...
)
create table [table_name](
   ... ,
   constraint [constraint_name] [constraint] (column, ...)
)
alter table [table_name] add [constraint] ([column_name])
alter table [table_name] add constraint [contrasint_name] [constraint] (column, ...)
alter table [table_name] drop constraint [constraint_name]
SQL 中的约束语句
exec sp_helpconstraint [table_name]

1. 唯一性约束 UNIQUE

创建

create table [table_name]( 
  [column_1] [type] unique,
   ...
)
create table [table_name]( 
  ... , 
  constraint [UQ_name] unique (column_1, column_2, ...)
)
alter table [table_name] add unique ([column_name])
alter table [table_name] add constraint [UQ_name] unique (column_1, column_2)

删除

alter table [table_name] drop constraint [UQ_name]

2. 主键约束

创建

create table [table_name](
  [column_1] primary key,
   ...
)
create table [table_name]( 
  ... , 
  constraint [PK_name] primary key (column_1, column_2, ...)
)
alter table [table_name] add primary key [column_name]
alter table [table_name] add constraint [PK_name] primary key (column_1, column_2)

删除

alter table [table_name] drop constraint [PK_name]

3. 外键约束

创建

create table [table_name]( 
  ... , 
  [column_fk] [type] foreign key references table_1([pk_name])
)
create table [table_name]( 
  ... , 
  constraint [FK_name] foreign key ([column_fk]) references table_1([pk_name])
)
alter table [table_name] add constraint [fk_name] foreign key ([column_fk]) references table_1([column_pk])

删除

alter table [table_name] drop constraint [FK_name]

4. check 约束

创建

create table [table_name]( 
  [column_1] [type] check([column_1] > 0) , 
  ...
)
create table [table_name]( 
  ... , 
  constraint [CHK_name] check ([column_1] > 0 and [column_2] = 'str')
)
alter table [table_name] add check ([column_1] > 0)
alter table [table_name] add constraint [CHK_name] check ([column_1] > 0 and [column_2] = 'str')

删除

alter table [table_name] drop check [CHK_name]

5. default 约束

创建

create table [table_name](
   ... , 
  [column_1] [type] default 'str', 
  [column_2] [type] default getdate() 
)
alter table [table_name] add default ['str'] for [column] with values ```
删除
```sql
alter table [table_name] alter column [column_name] drop default```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 学习web安全足足有一个半月有余,之前学的是前端,也会一点python。。好吧差不多忘了。常规工具算是熟悉基本...
    一叶红尘哦哟阅读 3,399评论 4 92
  • **SQL TOP 子句 TOP 子句用于规定要返回的记录的数目。 对于拥有数千条记录的大型表来说,TOP 子句是...
    廖马儿阅读 3,210评论 1 46
  • SQL 语法大全 标签(空格分隔): SQL DB2 SQL语法大全 SQL SELECT SQL SELECT ...
    lumicinta阅读 12,920评论 3 196
  • SQL SELECT 语句 一、查询SQL SELECT 语法 (1)SELECT 列名称 FROM 表名称 (2...
    有钱且幸福阅读 5,654评论 0 33
  • SQL 高级 01 SQL 高级 03 SELECT INTO 语句 SELECT INTO 语句从一个表中选取数...
    鹿守心畔光阅读 476评论 0 2