• NOT NULL - 指示某列不能存储 NULL 值。
  • UNIQUE - 保证某列的每行必须有唯一的值。
  • PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
  • FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
  • CHECK - 保证列中的值符合指定的条件。
  • DEFAULT - 规定没有给列赋值时的默认值。


外键约束
  1. CREATE TABLE Orders
  2. (
  3. O_Id int NOT NULL PRIMARY KEY,
  4. OrderNo int NOT NULL,
  5. P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
  6. )

CHECK 约束用于限制列中的值的范围。

如果对单个列定义 CHECK 约束,那么该列只允许特定的值。

如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制

  1. CREATE TABLE Persons
  2. (
  3. P_Id int NOT NULL CHECK (P_Id>0),
  4. LastName varchar(255) NOT NULL,
  5. FirstName varchar(255),
  6. Address varchar(255),
  7. City varchar(255)
  8. )

DEFAULT 约束用于向列中插入默认值。

如果没有规定其他的值,那么会将默认值添加到所有的新记录。

  1. CREATE TABLE Orders
  2. (
  3. O_Id int NOT NULL,
  4. OrderNo int NOT NULL,
  5. P_Id int,
  6. OrderDate date DEFAULT GETDATE()
  7. )
当表已经被创建时,可以用2个Alter
  1. ALTER TABLE [User]
  2. add default 'jingya' for UserName
时间的默认创建怎么总是不成功,不知道为什么
  1. ALTER TABLE [User]
  2. add default '2016-01-10 22:01:46' for CreateDate





最新文章

  1. 【leetcode】Add Binary
  2. 深入了解asp.net框架。生命周期以及事件处理机制
  3. 遍历echsop的region表形成缓存的程序
  4. Oracle数据库导入导出总结(dmp文件)
  5. 安装ejabberd2并配置MySQL为其数据库
  6. mipi 调试经验
  7. alsa utils工具使用
  8. layui中使用autocomplete.js
  9. vue使用tips记录
  10. spring 事务的七中传播行为五中隔离
  11. 深圳scala-meetup-20180902(1)- Monadic 编程风格
  12. 绘图之EasyUI+Highcharts+Django
  13. Python数据结构——栈的链表实现
  14. PE 装机
  15. 乘风破浪:LeetCode真题_022_Generate Parentheses
  16. maven groupID 和 ArtifactID的区别与作用
  17. 为什么 JVM 不用 JIT 全程编译
  18. spring 接收前台ajax传来的参数的几个方法
  19. 跟着百度学PHP[8]-setcookie的其他参数学习
  20. 【BZOJ2648】SJY摆棋子(KD-Tree)

热门文章

  1. 如何计算合适的InnoDB log file size
  2. MYSQL数据的安装、配置
  3. BA--空调静压箱的作用
  4. ARP协议(3)ARP编程--winpcap&vs2012配置
  5. hibernate 管理 Session(单独使用session,非spring)
  6. hdu 4997 Biconnected
  7. Swift String转Character数组
  8. QFileSystemModel只显示名称,不显示size,type,modified
  9. oracle init.ora常用配置详解
  10. 杂项-Java:Spring Cloud