数据库约束怎么写,数据库定义约束

http://www.itjxue.com  2023-01-14 15:33  来源:未知  点击次数: 

SQL中规定某列值只能是0或者1的约束该怎么写?

SQL CHECK?约束。

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

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

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

--删除表

drop table temp;

--创建表

CREATE TABLE temp (flag NUMBER(1));

--增加约束

ALTER TABLE temp?ADD?CONSTRAINT?ck_temp_flag CHECK

(flag=1 or flag=0);

--测试效果版

insert into temp values(1);

insert into temp values(0);

insert into temp values(1);

--测试效果(约束禁止插入数据),提示权:违反检查约束条件

insert into temp values(2);

insert into temp values(3);

SQL CHECK Constraint on CREATE TABLE。

下面的?SQL?在?"Persons"?表创建时为?"Id_P"?列创建?CHECK?约束。CHECK?约束规定?"Id_P"?列必须只包含大于?0?的整数。

My SQL:

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CHECK (Id_P0)

)

扩展资料:

不同数据库的约束写法:

SQL Server / Oracle / MS Access:

CREATE TABLE Persons

(

Id_P int NOT NULL?CHECK (Id_P0),

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

如果需要命名?CHECK?约束,以及为多个列定义?CHECK?约束,请使用下面的?SQL?语法:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CONSTRAINT chk_Person CHECK (Id_P0 AND City='Sandnes')

)

SQL CHECK Constraint on ALTER TABLE.

如果在表已存在的情况下为?"Id_P"?列创建?CHECK?约束,请使用下面的?SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons

ADD CHECK (Id_P0)

如果需要命名?CHECK?约束,以及为多个列定义?CHECK?约束,请使用下面的?SQL?语法:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons

ADD CONSTRAINT chk_Person CHECK (Id_P0 AND City='Sandnes')

撤销?CHECK?约束。

如需撤销?CHECK?约束,请使用下面的?SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons

DROP CONSTRAINT chk_Person

数据库用SQL语言建表,什么是完整性约束?请问如何写出各种完整性约束?

一、数据的完整性

实体完整性

实体完整性简单的说,就是将表中的每一行看作一个实体。实体完整性要求表的标示符列或主键的完整性。可以通过建立唯一索引、PRIMARY KEY约束、UNIQUE约束,以及列的IDENTITY属性来实施实体完整性。

域完整性

域完整性是指给定列的输入有效性。要求表中指定列的数据具有正确的数据类型、格式和有效的数据范围。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过 CHECK 约束和规则)或可能值的范围。域完整性通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则来实现。

引用完整性

引用完整性又称参照完整性。引用完整性维持被参照表和参照表之间的数据一致性,他通过主键(PRIMARY KEY)约束和外键(FOREIGN KEY)约束来实现。

用户定义完整性

二、约束操作

与表相关的约束

在SQL 2008中,常用有6种约束,分别是NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY,DEFAULT和CHECK.

--添加主键约束(即primary key约束)

alter table goods add constraint pk_gid primary key(gid)

--1.删除主键约束

alter table goods drop pk_gid

--添加唯一约束(即unique约束)

alter table goods add constraint uq_gname unique(gname)

--删除唯一约束:仿1.

--添加缺省约束(即default约束)

alter table goods add constraint def_gtel default 0000-00000000 for gtel

--删除缺省约束:仿1.

--添加检查约束(即check约束)

alter table goods add constraint ck_gprice check(gprice500)

--删除check约束:仿1.

--创建表2

create table g_p

(

wno int identity(1,1) primary key,

gno int

)

--添加外键约束(即foreign key约束)

alter table g_p

add constraint fk_gno

foreign key(gno) references goods(gid)

--删除外键约束:仿1.

--使用newid()

select newid()--生成全球唯一的ID号

create table customer

(

custID uniqueidentifier not null default newid(),

customer char(30) not null

)

insert customer values(newid(),\''\''accp\''\'')--向customer中插入信息

-----------------------------------慢慢研究----

数据库约束条件

表中行的唯一性标识,可以由一个列或者多个列共同组成,但组成 主键约束 的所有列中元素不能为空。在同一表中,主键是唯一的。

(两个点,一个注意)

关键字: primary key

是为多个字段组合而成的主键,必须多条字段的值同时都不相同

如果为某两个或多个字段设置了组合字段主键约束的话,必须它们共同组合起来不能重复,但是单个字段重复的话是可以存在或通过的。

案例分析:

字段名 数据类型(长度) not null

书写格式:

案例分析:

increment:增加

auto:自动的

案例分析:

谁知道数据库中添加各种约束的SQL语句的写法啊,求示例,请高手帮忙!!!!

语法:

alter

table

表名

add

constraint

约束名

具体约束类型

字段名

例如给表A的字段StuNo添加一个主键约束(简写PK)

alter

table

A

add

constraint

PK_StuNo

primary

key(StuNo)

例如给表A的字段Sex添加一个检查约束(简写CK)

alter

table

A

add

constraint

CK_Sex

check(Sex18

and

Sex40)

例如给表B的字段StuNo添加一个外键约束(简写FK)

外键是来自于A表的主键

alter

table

B

add

constraint

FK_StuNo

foreign

key(StuNo)

references

A(StuNo)

基本五个约束的语法就这样、很简单的

注意一点:上面那个约束名首先是约束类型的简写,例如PM_、FK_、CK_等、后面可以自己定义

在这里我为了好区分是那个字段的约束我就写的哪个字段名了,希望你能看懂~

(责任编辑:IT教学网)

更多

推荐金山WPS文章