T-SQL :SQL Server 定义数据完整性 5大约束
1.首先创建一客户张表
IF OBJECT_ID('dbo.Employees', 'U') IS NOT NULL
DROP TABLE dbo.Employees;
CREATE TABLE dbo.Employees
(
empid INT NOT NULL,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
hiredate DATE NOT NULL,
mgrid INT NULL,
ssn VARCHAR(20) NOT NULL,
salary MONEY NOT NULL
);
2.主键约束
-- Primary key
ALTER TABLE dbo.Employees
ADD CONSTRAINT PK_Employees
PRIMARY KEY(empid);
对于主键约束后台将创建一个唯一索引,以物理机制强制逻辑的唯一性约束
3.唯一约束
-- Unique
ALTER TABLE dbo.Employees
ADD CONSTRAINT UNQ_Employees_ssn
UNIQUE(ssn);
4.外键约束 创建一张订单表 插入外键
IF OBJECT_ID('dbo.Orders', 'U') IS NOT NULL
DROP TABLE dbo.Orders;
CREATE TABLE dbo.Orders
(
orderid INT NOT NULL,
empid INT NOT NULL,
custid VARCHAR(10) NOT NULL,
orderts DATETIME2 NOT NULL,
qty INT NOT NULL,
CONSTRAINT PK_Orders
PRIMARY KEY(orderid)
);
-- Foreign keys
ALTER TABLE dbo.Orders
ADD CONSTRAINT FK_Orders_Employees
FOREIGN KEY(empid)
REFERENCES dbo.Employees(empid);
5.CHECK约束
-- Check
ALTER TABLE dbo.Employees
ADD CONSTRAINT CHK_Employees_salary
CHECK(salary > 0.00);
6.默认约束
-- Default
ALTER TABLE dbo.Orders
ADD CONSTRAINT DFT_Orders_orderts
DEFAULT(SYSDATETIME()) FOR orderts;
-- Cleanup
DROP TABLE dbo.Orders, dbo.Employees;
T-SQL :SQL Server 定义数据完整性 5大约束相关推荐
- sql server定义_在SQL Server中查看定义权限
sql server定义 We have various database objects such as view, stored procedures, triggers, functions a ...
- SQL Server实例的十大安全注意事项
SQL Server is one of the world's leading data platforms. It is being broadly used hosting millions o ...
- 存储过程中定义sql语句_学习SQL:用户定义的存储过程
存储过程中定义sql语句 Stored procedures (SPs) are one more powerful database object we have at our disposal. ...
- 【数据库系统】第一部分 数据库基础(3) 关系数据库标准语言SQL(3) 数据定义
本文属于「数据库系统」系列文章之一,这一系列着重于「数据库系统知识的学习与实践」.由于文章内容随时可能发生更新变动,欢迎关注和收藏数据库系统系列文章汇总目录一文以作备忘.需要特别说明的是,为了透彻理解 ...
- mysql对所有列的数据进行修改6_MySQL的SQL语句 - 数据定义语句(6)- ALTER TABLE 语句 (3)...
添加和删除列 使用ADD向表中添加新列,使用DROP删除现有列.DROP col_name是对标准SQL的MySQL扩展. 若要在表行的特定位置添加列,请使用FIRST col_name 或者 AFT ...
- sql复制表定义及复制数据行
sql复制表定义及复制数据行 一.复制表定义 假设我们有一个数据表Person,有Id,FirstName,LastName,Weight,Height5个列,表结构可以参考这一篇.现在我们想创建一个 ...
- MySQL中定义fk语句_MySQL的SQL语句 - 数据定义语句(6)- ALTER TABLE 语句 (4)
外键和其他约束 InnoDB和NDB存储引擎支持 FOREIGN KEY 和 REFERENCES 子句,这些存储引擎实现了ADD [CONSTRAINT [symbol]] FOREIGN KEY ...
- 数据库 ----- 实验二:SQL的数据定义和数据更新
实验二 SQL的数据定义和数据更新 [实验目的和要求] 1.掌握SQL Server Management Studio中以SQL 命令方式和以向导方式操作表和数据的操作: 2.掌握SQL 的数据定义 ...
- SQL Server 2000 联机丛书可用性评估报告
SQL Server 2000 联机丛书 可用性评估报告 测试单位:欧盟可用性中国支持中心 测试日期:2004年5月26日– 7月26日 报告制作:欧盟可用性中国中心白文涛 报告制作日期:2004年7 ...
最新文章
- java建一个conversion,Scala中的JavaConverters和JavaConversions有什么区别?
- StartSSL申请全过程 让网站拥有免费SSL证书
- python代码大全o-Python实现的一个自动售饮料程序代码分享
- python精要(73)-函数传递任意参数
- window应用移植到Linux下(应用移植)
- 手写自己的MyBatis框架-语句执行处理
- 用户访问一个网站的全部过程
- 测试人必备实用技能:写出一份好的Bug报告
- KVM虚拟化基础概念
- 阿里java规范_阿里Java规范
- Event Listener's Adapter Classes
- 基于STM32CUBE MX 的TM1640的使用例程
- Windows 软件管理
- 计算机怎么盲打键盘,键盘指法,教您盲打及快速打字指法练习的步骤
- HTML 引用小图标
- 443端口被攻击怎么办
- ! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
- 值得收藏|基于全球切片解析标准TMS的瓦片规则
- 鸡和兔关在一个笼子里,鸡有2只脚,兔有4只脚,螃蟹 ;递归
- 电子招标采购系统源码功能清单
热门文章
- bundlefusion论文阅读笔记
- jdbctemplate mysql 配置_Spring JDBCTemplate配置使用
- 扩展欧几里得算法求逆元_从辗转相除法到求逆元,数论算法初体验
- 计算机软件及应用stata,蒙特卡洛模拟及其Stata应用实现
- sql2008能否打开mysql数据库_SQL Server 2008通过LinkServer访问MySQL数据库
- ajax传递数组,后台更新
- vue项目使用eslint
- D3---01基础的柱状图制作(转)
- 【NOIP模拟】图论题Graph
- 在页面最上面显示当前登陆的状态