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*/)





原创粉丝点击