SQL SERVER-约束
2024-09-08 11:09:15
- NOT NULL - 指示某列不能存储 NULL 值。
- UNIQUE - 保证某列的每行必须有唯一的值。
- PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
- FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
- CHECK - 保证列中的值符合指定的条件。
- DEFAULT - 规定没有给列赋值时的默认值。
外键约束
CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)
CHECK 约束用于限制列中的值的范围。
如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制
CREATE TABLE Persons
(
P_Id int NOT NULL CHECK (P_Id>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
DEFAULT 约束用于向列中插入默认值。
如果没有规定其他的值,那么会将默认值添加到所有的新记录。
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
)
当表已经被创建时,可以用2个Alter
ALTER TABLE [User]
add default 'jingya' for UserName
时间的默认创建怎么总是不成功,不知道为什么
ALTER TABLE [User]
add default '2016-01-10 22:01:46' for CreateDate
最新文章
- 【leetcode】Add Binary
- 深入了解asp.net框架。生命周期以及事件处理机制
- 遍历echsop的region表形成缓存的程序
- Oracle数据库导入导出总结(dmp文件)
- 安装ejabberd2并配置MySQL为其数据库
- mipi 调试经验
- alsa utils工具使用
- layui中使用autocomplete.js
- vue使用tips记录
- spring 事务的七中传播行为五中隔离
- 深圳scala-meetup-20180902(1)- Monadic 编程风格
- 绘图之EasyUI+Highcharts+Django
- Python数据结构——栈的链表实现
- PE 装机
- 乘风破浪:LeetCode真题_022_Generate Parentheses
- maven groupID 和 ArtifactID的区别与作用
- 为什么 JVM 不用 JIT 全程编译
- spring 接收前台ajax传来的参数的几个方法
- 跟着百度学PHP[8]-setcookie的其他参数学习
- 【BZOJ2648】SJY摆棋子(KD-Tree)
热门文章
- 如何计算合适的InnoDB log file size
- MYSQL数据的安装、配置
- BA--空调静压箱的作用
- ARP协议(3)ARP编程--winpcap&;amp;vs2012配置
- hibernate 管理 Session(单独使用session,非spring)
- hdu 4997 Biconnected
- Swift String转Character数组
- QFileSystemModel只显示名称,不显示size,type,modified
- oracle init.ora常用配置详解
- 杂项-Java:Spring Cloud