完整性约束:三类完整性约束
SQL server给完整性约束命名及删除完整性约束:戳这里!!!

本文对在创建表时或者创建表后如何设置约束条件(列级、表级)做了详细说明,希望可以帮到大家!!!

【注】:完整性约束条件涉及到该表的多个属性列时,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。

实体完整性的操作

一、创建表时,可以规定实体完整性

CREATE TABLE语句中使用PRIMARY KEY定义哪些列为主码(主键)。

需要注意:
1.主键必须包含唯一的值。
2.主键列不能包含 NULL 值。
3.每个表都应该有一个主键,并且每个表只能有一个主键。

定义为列级约束条件:

CREATE TABLE SC
(column_name datatype PRIMARY KEY,column_name datatype,......
);

定义为表级约束条件:

CREATE TABLE SC
(column_name datatype,column_name datatype,......PRIMARY KEY(column_name,column_name...)
);

表级约束条件中,括号中的列共同作为主键。

二、表创建好后,定义实体完整性

基本语法:

ALTER TABLE table_name
ADD PRIMARY KEY (column_name,column_name...)

需要注意的是,该列不能取空值。

参照完整性的操作

一、创建表时,可以定义参照完整性

CREATE TABLE语句中用FOREIGN KEY短语定义哪些列为外码。
REFERENCES短语指明这些外码参照哪些表的主码。
指定外码后,参照完整性规则自动生效。

定义为列级约束条件:

CREATE TABLE SC
(column_name datatype FOREIGN KEY [该列名] REFERENCES table_name(column_name),column_name datatype,......
);
//定义列级参照完整性约束时,其中[该列名]可以省略

定义为表级约束条件:

CREATE TABLE SC
(column_name datatype,column_name datatype,......FOREIGN KEY(column_name,column_name) REFERENCES table_name(column_name)
);

二、表创建好后,定义参照完整性

基本语法:

ALTER TABLE table_name
ADD FOREIGN KEY (column_name)
REFERENCES table2_name(column_name);

用户定义的完整性操作

一、创建表时,可以定义 用户定义的完整性

定义为列级约束条件:

CREATE TABLE SC
(column_name datatype NOT NULL,column_name datatype UNIQUE,column_name datatype CHECK(该列要满足的条件),......
);

定义为表级约束条件:

1.NOT NULL
值得注意的是:NOT NULLDEFAULT不能在表级完整性约束处定义。(有关DEFAULT大家可以自行查询)

2.UNIQUE

CREATE TABLE SC
(......UNIQUE(column_name,column_name......)
);

3.CHECK
如果CHECK约束是定义多列之间的取值约束,则只能在表级完整性约束处定义。

CREATE TABLE SC
(......CHECK(column1_name满足的条件 AND column2_name满足的条件......)
);

二、表创建好后,定义用户定义的完整性操作

1.NOT NULL

ALTER TABLE table_name
ALTER COLUMN column datatype NOT NULL;

2.UNIQUE

ALTER TABLE table_name
ADD UNIQUE (column_name);

3.CHECK

ALTER TABLE table_name
ADD CHECK (column_name要满足的条件);

SQL server完整性约束的操作相关推荐

  1. SQL Server远程连接操作

    SQL Server远程连接操作 -- 开启远程选项 exec sp_configure 'show advanced options',1 reconfigure exec sp_configure ...

  2. 数据库应用程序开发基础篇—— .NET中SQL Server数据库的操作C#篇之一

    数据库应用程序开发基础篇-- .NET中SQL Server数据库的操作C#篇之一 写在前面:前面介绍了数据库系统的基本概念,SQl语句基本使用方法,接下来通过学习具体语言和具体数据库结合的应用开发来 ...

  3. Sql Server 和 Access 操作数据库结构Sql语句

    下面是Sql Server 和 Access 操作数据库结构的常用Sql,希望对你有所帮助. 新建表: create table [表名] ( [自动编号字段] int IDENTITY (1,1) ...

  4. python3连接sql server数据库_Python3操作SQL Server数据库(实例讲解)

    1.前言 前面学完了SQL Server的基本语法,接下来学习如何在程序中使用sql,毕竟不能在程序中使用的话,实用性就不那么大了. 2.最基本的SQL查询语句 python是使用pymssql这个模 ...

  5. SQL SERVER插入数据操作

    准备工作: 我需要一张User表,这张表有几个字段,还有一个自增长的数字id,表结构如下: 这是一张比现实应用中简单的多的用户表,UserID是自增长字段. 开始执行一个最简单的INSERT: ? 1 ...

  6. sql server 跨服务器操作

    新建链接服务器 服务器对象==>连接服务器==>右键新建连接服务器==>选择sql server ==>输入远程服务器地址==>选择安全性==>选择使用安全上下文建 ...

  7. sql server还原数据库操作步骤

    当其他人发送给我们一个系统的数据库时,我们需要在自己的机器上sql server中还原数据库,才能在本地运行系统,查看数据库.具体操作步骤如下: (1)我们接收到的数据库是一个"文件&quo ...

  8. Sql Server之临时表操作

    临时表: 临时表分为"本地临时表"和"全局临时表"两种. 本地临时表的名称以单个符号 (#) 打头,仅对当前的用户连接可见,当创建者从SQL Server 实例 ...

  9. ASP.NET连接数据库(SQL Server)的操作

    1.创建好项目后在我们的Web.config里面连接SQL Server数据库 2.写入代码 <appSettings> <add key="conStr" va ...

最新文章

  1. java.lang.Instrument 代理Agent使用
  2. phpcms列表页调用 点击量
  3. matlab光顺拐点,基于MATLAB的最大误差双圆弧逼近曲线的算法及实现.pdf
  4. vue 获取请求url_vue 获取url里参数的两种方法小结
  5. Jsoup处理URLs
  6. 宝塔linux面板安装seafile,Centos7 安装seafile 企业共享网盘
  7. 【MySQL】明明加了索引,为何不生效?
  8. 控制台的左侧显示证书树形列表_一款免费签发Https证书的工具:Let's Encrypt
  9. QuartusII-项目工程的时序仿真
  10. grasshopper python_【转】精华教学 | GH_Cpython——将原生的 Python 与机器学习框架引入Grasshopper...
  11. 工控c语言培训,[转载]最完整的工控培训、PLC培训教程大全
  12. Java基础语法(详细版)
  13. 流量变现|谁能拒绝私藏一套app流量变现的攻略呢?
  14. Microsoft Excel 教程:如何在 Excel 中自动填充数据?
  15. 两台计算机远程桌面连接不上去,远程桌面连接不上怎么办
  16. 华为手机长按图片无法下载
  17. Java - IO流学习笔记
  18. Java和Java大数据有什么区别?
  19. jQuery中的end()方法使用介绍
  20. 6种常见的三维重建方式

热门文章

  1. python3.0不向后兼容啥意思_为什么Python 3不能向后兼容?
  2. Ocr 图文识别技术——基于百度云OCR技术学习与总结
  3. 蛇形走线用于什么方面,一文告诉你
  4. 不见的何止重城,隐隐的又岂是江树。
  5. 不要在学习启动管理器和元编程上浪费时间
  6. centos8 解决编译安装 nginx时遇到的报错
  7. Linux安装水星MW150US
  8. Linux系统操作(21):物理cpu数、cpu核数、逻辑cpu数、几路几核几线程、CPU信息详细查询方法
  9. python基于PHP+MySQL的学生社团管理系统
  10. 13.华为秋招一二面