SQL基础——约束
来源:互联网 发布:手机棋牌游戏源码出售 编辑:程序博客网 时间:2024/06/16 18:41
SQL语句的约束用来用于限制插入表的数据,常用的约束包括:1. NOT NULL; 2. UNIQUE; 3. PRIMARY KEY; 4. FOREIGN KEY; 5. CHECK; 6. DEFAULT.
NOT NULL
NOT NULL约束限制该列不能接收NULL值,即改字段必须包含值,若不添加值,则插入或更新时会报错。
SQL语句
CREATE TABLE ConstraintTest(Id INT NOT NULL /*插入或更新数据时,Id值不得为NULL*/)
UNIQUE
UNIQUE约束保证该列的值是唯一标识,若向表中插入多条包含相同数据的该列值,则会报错。
SQL语句
CREATE TABLE ConstraintTest(Id INT NOT NULL, /*插入或更新数据时,Id值不得为NULL*/Name VARCHAR(50) NOT NULL UNIQUE /*若插入多条数据具有相同Id值,则会报错*/)或CREATE TABLE ConstraintTest(Id INT NOT NULL,Name VARCHAR(50) NOT NULL,CONSTRAINT test_UNIQUE UNIQUE(Id,Name) /*为Id列和Name列添加UNIQUE约束*/)
PRIMARY KEY
PRIMARY KEY约束将该列设置为主键列,主键列必须是唯一值,每个表只能有一个主键列。
SQL语句
CREATE TABLE ConstraintTest(Id INT NOT NULL PRIMARY KEY,)或CREATE TABLE ConstraintTest(Id INT NOT NULL,CONSTRAINT test_PrimaryKey PRIMARY KEY (Id))CREATE TABLE ConstraintTest(Id INT NOT NULL,Name VARCHAR(50) NOT NULL,CONSTRAINT test_PrimaryKey PRIMARY KEY (Id,Name) /*将多个列设置为主键*/)
FOREIGN KEY
FOREIGN KEY约束用来设定一个列为外键,指向另一个表中的主键列。
SQL语句
CREATE TABLE TestOne(Id INT NOT NULL PRIMARY KEY,)CREATE TABLE TestTwo(Id INT NOT NULL PRIMARY KEY,TestOneId INT FOREIGN KEY REFERENCES TestOne(Id))或CREATE TABLE TestTwo(Id INT NOT NULL PRIMARY KEY,TestOneId INTCONSTRAINT fk_Test FOREIGN KEY (TestOneId) REFERENCES TestOne(Id))
CHECK
CHECK约束用来限制列中值的范围。
SQL语句
CREATE TABLE ConstraintTest(Age INT NOT NULL CHECK(Age>0) /*插入或修改记录时,若该列值小于0则会报错*/)或CREATE TABLE ConstraintTest(Age INT NOT NULL,CONSTRAINT check_Age CHECK(Age>0))
DEFAULT
DEFAULT约束可以设定列的默认值,若该列没有指定值,则将默认值插入。
SQL语句
CREATE TABLE ConstraintTest(City VARCHAR(200) DEFAULT 'Shanghai' /*若在插入记录是为指定该列值,则默认设置为Shanghai*/)
- SQL基础——约束
- SQL基础13—— 约束(CONSTRAINT)
- MySQL基础入门—SQL 的约束
- SQL基础学习笔记(三)—约束
- mysql基础—约束
- SQL基础--> 约束(CONSTRAINT)
- SQL基础--> 约束(CONSTRAINT)
- SQL基础--> 约束(CONSTRAINT)
- SQL基础--> 约束(CONSTRAINT)
- SQL基础(1):约束
- SQL基础--> 约束(CONSTRAINT)
- SQL基础--> 约束(CONSTRAINT)
- Oracle之SQL基础--约束
- SQL基础和表约束
- sql基础和约束,引擎
- 一、数据库概念与SQL语言基础——定义表、添加、修改约束
- FPGA时序约束—TimeQuest基础
- SQL学习笔记4——约束
- 移动开发者走向全能开发者的五大技能
- HDU1013 Digital Roots
- Xcode 代码自动化生成工具:Accessorizer
- netstat
- poj2356
- SQL基础——约束
- U-BOOT顶层MAKEFILE详解
- C#实例复制和深度复制的实现
- 飘逸的python - 常见的几个坑
- fstream用法(转)
- 解决mySQL占用内存超大问题
- Android多任务下载,使用Notification显示、更新进度条
- Unbuntu常用的进程管理命令
- Tour in the Castle zoj3256