SQL server完整性约束的操作
完整性约束:三类完整性约束
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 NULL和DEFAULT不能在表级完整性约束处定义。(有关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完整性约束的操作相关推荐
- SQL Server远程连接操作
SQL Server远程连接操作 -- 开启远程选项 exec sp_configure 'show advanced options',1 reconfigure exec sp_configure ...
- 数据库应用程序开发基础篇—— .NET中SQL Server数据库的操作C#篇之一
数据库应用程序开发基础篇-- .NET中SQL Server数据库的操作C#篇之一 写在前面:前面介绍了数据库系统的基本概念,SQl语句基本使用方法,接下来通过学习具体语言和具体数据库结合的应用开发来 ...
- Sql Server 和 Access 操作数据库结构Sql语句
下面是Sql Server 和 Access 操作数据库结构的常用Sql,希望对你有所帮助. 新建表: create table [表名] ( [自动编号字段] int IDENTITY (1,1) ...
- python3连接sql server数据库_Python3操作SQL Server数据库(实例讲解)
1.前言 前面学完了SQL Server的基本语法,接下来学习如何在程序中使用sql,毕竟不能在程序中使用的话,实用性就不那么大了. 2.最基本的SQL查询语句 python是使用pymssql这个模 ...
- SQL SERVER插入数据操作
准备工作: 我需要一张User表,这张表有几个字段,还有一个自增长的数字id,表结构如下: 这是一张比现实应用中简单的多的用户表,UserID是自增长字段. 开始执行一个最简单的INSERT: ? 1 ...
- sql server 跨服务器操作
新建链接服务器 服务器对象==>连接服务器==>右键新建连接服务器==>选择sql server ==>输入远程服务器地址==>选择安全性==>选择使用安全上下文建 ...
- sql server还原数据库操作步骤
当其他人发送给我们一个系统的数据库时,我们需要在自己的机器上sql server中还原数据库,才能在本地运行系统,查看数据库.具体操作步骤如下: (1)我们接收到的数据库是一个"文件&quo ...
- Sql Server之临时表操作
临时表: 临时表分为"本地临时表"和"全局临时表"两种. 本地临时表的名称以单个符号 (#) 打头,仅对当前的用户连接可见,当创建者从SQL Server 实例 ...
- ASP.NET连接数据库(SQL Server)的操作
1.创建好项目后在我们的Web.config里面连接SQL Server数据库 2.写入代码 <appSettings> <add key="conStr" va ...
最新文章
- java.lang.Instrument 代理Agent使用
- phpcms列表页调用 点击量
- matlab光顺拐点,基于MATLAB的最大误差双圆弧逼近曲线的算法及实现.pdf
- vue 获取请求url_vue 获取url里参数的两种方法小结
- Jsoup处理URLs
- 宝塔linux面板安装seafile,Centos7 安装seafile 企业共享网盘
- 【MySQL】明明加了索引,为何不生效?
- 控制台的左侧显示证书树形列表_一款免费签发Https证书的工具:Let's Encrypt
- QuartusII-项目工程的时序仿真
- grasshopper python_【转】精华教学 | GH_Cpython——将原生的 Python 与机器学习框架引入Grasshopper...
- 工控c语言培训,[转载]最完整的工控培训、PLC培训教程大全
- Java基础语法(详细版)
- 流量变现|谁能拒绝私藏一套app流量变现的攻略呢?
- Microsoft Excel 教程:如何在 Excel 中自动填充数据?
- 两台计算机远程桌面连接不上去,远程桌面连接不上怎么办
- 华为手机长按图片无法下载
- Java - IO流学习笔记
- Java和Java大数据有什么区别?
- jQuery中的end()方法使用介绍
- 6种常见的三维重建方式