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大约束相关推荐

  1. sql server定义_在SQL Server中查看定义权限

    sql server定义 We have various database objects such as view, stored procedures, triggers, functions a ...

  2. SQL Server实例的十大安全注意事项

    SQL Server is one of the world's leading data platforms. It is being broadly used hosting millions o ...

  3. 存储过程中定义sql语句_学习SQL:用户定义的存储过程

    存储过程中定义sql语句 Stored procedures (SPs) are one more powerful database object we have at our disposal. ...

  4. 【数据库系统】第一部分 数据库基础(3) 关系数据库标准语言SQL(3) 数据定义

    本文属于「数据库系统」系列文章之一,这一系列着重于「数据库系统知识的学习与实践」.由于文章内容随时可能发生更新变动,欢迎关注和收藏数据库系统系列文章汇总目录一文以作备忘.需要特别说明的是,为了透彻理解 ...

  5. mysql对所有列的数据进行修改6_MySQL的SQL语句 - 数据定义语句(6)- ALTER TABLE 语句 (3)...

    添加和删除列 使用ADD向表中添加新列,使用DROP删除现有列.DROP col_name是对标准SQL的MySQL扩展. 若要在表行的特定位置添加列,请使用FIRST col_name 或者 AFT ...

  6. sql复制表定义及复制数据行

    sql复制表定义及复制数据行 一.复制表定义 假设我们有一个数据表Person,有Id,FirstName,LastName,Weight,Height5个列,表结构可以参考这一篇.现在我们想创建一个 ...

  7. MySQL中定义fk语句_MySQL的SQL语句 - 数据定义语句(6)- ALTER TABLE 语句 (4)

    外键和其他约束 InnoDB和NDB存储引擎支持 FOREIGN KEY 和 REFERENCES 子句,这些存储引擎实现了ADD [CONSTRAINT [symbol]] FOREIGN KEY ...

  8. 数据库 ----- 实验二:SQL的数据定义和数据更新

    实验二 SQL的数据定义和数据更新 [实验目的和要求] 1.掌握SQL Server Management Studio中以SQL 命令方式和以向导方式操作表和数据的操作: 2.掌握SQL 的数据定义 ...

  9. SQL Server 2000 联机丛书可用性评估报告

    SQL Server 2000 联机丛书 可用性评估报告 测试单位:欧盟可用性中国支持中心 测试日期:2004年5月26日– 7月26日 报告制作:欧盟可用性中国中心白文涛 报告制作日期:2004年7 ...

最新文章

  1. java建一个conversion,Scala中的JavaConverters和JavaConversions有什么区别?
  2. StartSSL申请全过程 让网站拥有免费SSL证书
  3. python代码大全o-Python实现的一个自动售饮料程序代码分享
  4. python精要(73)-函数传递任意参数
  5. window应用移植到Linux下(应用移植)
  6. 手写自己的MyBatis框架-语句执行处理
  7. 用户访问一个网站的全部过程
  8. 测试人必备实用技能:写出一份好的Bug报告
  9. KVM虚拟化基础概念
  10. 阿里java规范_阿里Java规范
  11. Event Listener's Adapter Classes
  12. 基于STM32CUBE MX 的TM1640的使用例程
  13. Windows 软件管理
  14. 计算机怎么盲打键盘,键盘指法,教您盲打及快速打字指法练习的步骤
  15. HTML 引用小图标
  16. 443端口被攻击怎么办
  17. ! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
  18. 值得收藏|基于全球切片解析标准TMS的瓦片规则
  19. 鸡和兔关在一个笼子里,鸡有2只脚,兔有4只脚,螃蟹 ;递归
  20. 电子招标采购系统源码功能清单

热门文章

  1. bundlefusion论文阅读笔记
  2. jdbctemplate mysql 配置_Spring JDBCTemplate配置使用
  3. 扩展欧几里得算法求逆元_从辗转相除法到求逆元,数论算法初体验
  4. 计算机软件及应用stata,蒙特卡洛模拟及其Stata应用实现
  5. sql2008能否打开mysql数据库_SQL Server 2008通过LinkServer访问MySQL数据库
  6. ajax传递数组,后台更新
  7. vue项目使用eslint
  8. D3---01基础的柱状图制作(转)
  9. 【NOIP模拟】图论题Graph
  10. 在页面最上面显示当前登陆的状态