数据库约束怎么写,数据库定义约束
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_等、后面可以自己定义
在这里我为了好区分是那个字段的约束我就写的哪个字段名了,希望你能看懂~