createtabletest04
(LSBHintidentity(1,1)primarykey,--自增列identity(n,m)表示从n开始增量为m,主键
PIDvarchar(20)notnull,
telephonevarchar(20)notnull,
CONSTRAINTchk_PIDcheck(len(PID)in('15','18')),--check约束,PID长度15或18
CONSTRAINTuc_PIDUNIQUE(PID),--唯一约束
CONSTRAINTchk_telecheck(len(telephone)=13ortelephonelike'_[0-9]_[0-9]_[0-9]_[0-9]-_[0-9]_[0-9]_[0-9]_[0-9]_[0-9]_[0-9]_[0-9]_[0-9]')--check约束
)
go
insertintotest04values('320721199910088511','8615240301050')
insertintotest04values('320721199910088512','0518-81220718')
insertintotest04values('320721199910088513','0518-8122071')--错误
go
select*fromtest04
㈡ SQL中表约束是什么意思啊,它的作用是什么谢谢
约束是在表中定义的用于维护数据库完整性的一些规则。
通过为表中的列定义约束可以防止将错误的数据插入表中,也可以保持表之间数据的一致性
.若某个约束条件只作用于单独的列,可以将其定义为列约束也可定义为表约束;
若某个约束条件作用域多个列,则必须定义为表约束。
㈢ SQL中如何设置唯一性约束
alter table [protectionZone]add constraint cons_02 unique (zoneName)。
约束用于限制加入表的数据的类型。可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句)。
(3)sql数据库技术约束扩展阅读:
SQL具有数据定义、数据操纵和数据控制。
1、SQL数据定义功能:能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中,外模式有叫做视图(View),全局模式简称模式( Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。
2、SQL数据操纵功能:包括对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。
3、SQL的数据控制功能:主要是对用户的访问权限加以控制,以保证系统的安全性。
㈣ SQL server语句所有的约束条件
1、主键约束(Primary Key constraint):要求主键列数据唯一,并且不允许为空。
2、唯一约束(Unique constraint):要求该列唯一,允许为空,但只能出现一个空值。
3、检查约束(Check constraint):某列取值范围限制,格式限制等,如有关年龄、邮箱(必须有@)的约束。
4、默认约束(Default constraint):某列的默认值,如在数据库里有一项数据很多重复,可以设为默认值。
5、外键约束(Foreign Key constraint):用于在两个表之间建立关系,需要指定引用主表的哪一列。
(4)sql数据库技术约束扩展阅读:
对于存在外键约束的表,如果进行删除非空的外键,可能会出现错误。 如果在 FOREIGN KEY 约束的列中输入非 NULL 值,则此值必须在被引用的列中存在,否则将返回违反外键约束的错误信息。
列级 FOREIGN KEY 约束的 REFERENCES 子句仅能列出一个引用列,且该列必须与定义约束的列具有相同的数据类型。表级 FOREIGN KEY 约束的 REFERENCES 子句中引用列的数目必须与约束列列表中的列数相同。每个引用列的数据类型也必须与列表中相应列的数据类型相同。
㈤ sql数据库中一共有哪些约束 各是什么意思
not null(非空),unique(唯一),primary key(非空,唯一,只能有一个主键),foreign(外键),check(强制数据满足要求)
㈥ SQL数据库主键与外建的约束是怎么保证数据的完整性的 外键为什么可以重复空值怎么和主键建立联系
主键: 主键唯一,以此保证数据完整性
外键:子表数据存在的前提是主表中有相同键值的数据存在,删除时,先删除子表的相同键数据,再删除主表的相同键数据。以此保证数据完整性。主表对子表是1对多关系,因此是外键可以重复。
空值不能作为主键。
㈦ SQL数据库的完整性约束是用来干什么的
保证数据的正确完整性,避免对数据库的增删改等操作带来的错误。
举个例子,一条数据表结构为
学号 姓名 。。。
其中学号为主键,但是你试图添加一条数据库记录 : 张三 。。。
而学号为空 NULL 这样则是添加不成功的,这就是完整性约束。
㈧ 数据库问题 SQL Server 数据库中有哪几种约束各有什么作用
如表:
学生信息表(学生学号,姓名,性别,系别号)
系别信息表(系别号,系别名)
1、实体完整性约束--就是常说的主键约束,用来区分两条不同的记录。
上面的学生编号建成主键后,通过它可以区分学生的记录。
2、参照完整性--就是常说的外键约束,用来保证数据的整合性。
上面的 学生信息表 中的 系别号 就是一种情况,它必须在 系别信息表 中存在在可以,系别信息表 中的 系别号 就可以设置成 学生信息表 的外键。
3、域完整性约束--就是常说的check约束
上面的学生信息表中的 性别 字段只能有 男或者女,这样就可以建一个check约束,限制该字段只能输入 男或者女。
---
以上,希望对你有所帮助。
㈨ sql数据库中的约束语句的格式
一般来说,
约束语句的格式
就是
在字段后加
CONSTRAINT
约束名
约束
下面是一个例子,一个是非空约束,一个是
CHECK约束。
1>
CREATE
TABLE
test_create_tab4
(
2>
id
INT
PRIMARY
KEY,
3>
val
VARCHAR(10)
4>
CONSTRAINT
test_tab4_val_nn
NOT
NULL,
5>
val2
INT,
6>
CONSTRAINT
test_tab4_val2_100
CHECK(val2
>=
0
AND
val2
<=
100)
7>
);
8>
go
1>
INSERT
INTO
test_create_tab4(id,
val2)
VALUES(1,
100);
2>
GO
消息
515,级别
16,状态
2,服务器
HOME-BED592453C\SQLEXPRESS,第
1
行
不能将值
NULL
插入列
'val',表
'Stock.dbo.test_create_tab4';列不允许有空值。INS
ERT
失败。
语句已终止。
1>
INSERT
INTO
test_create_tab4(id,
val,
val2)
VALUES(1,
'ERR',
1024);
2>
GO
消息
547,级别
16,状态
1,服务器
HOME-BED592453C\SQLEXPRESS,第
1
行
INSERT
语句与
CHECK
约束"test_tab4_val2_100"冲突。该冲突发生于数据库"Stock",表"
dbo.test_create_tab4",
column
'val2'。
语句已终止。
㈩ SQL数据库文件的最大容量是多少
SQLSERVER2000技术规格
--------------系统技术规格---------------
--每个服务器最多可以允许16个SQLSERVER实例
--每个实例可拥有 2147483467 个锁
--------------数据库技术规格--------------
--SQLSERVER的数据库大小1048516TB
--每个数据库可拥有的文件组数32767
--每个数据库可拥有的文件组数256
--文件大小(数据文件)32TB ---
--文件大小(日志文件)32TB ---
--数据库中的对象数2 147 483 647
--标识符的长度128
--------------表技术规格-------------------
--每个数据库中可拥有的表数受限于数据库中的对象数
--每个表可拥有的行数受限于可用的存储容量
--每个表的主键约束数1
--每个表的外键约束数253
--每个表的引用数253
--每个表的触发器数受限于数据库中的对象数
--每个表的簇索引数1
--每个表的非簇索引数249
--每个表的唯一约束249非簇的,1成簇的
--------------列技术规格-------------------
--每个索引可包含的列数16
--每个主键可包含的列数16
--每个外键可包含的列数16
--每个表的列数1024
--索引键的大小900字节
--每个character或binary列的字节数8000
--每个text,ntext或image列的字节数2GB-2
--每行的字节数8060
--每个索引的字节数900
--每个主键的字节数900
--每个外键的字节数900
--------------SQL技术规格-------------------
--批处理大小65536乘以网络包大小
--每个SELECT语句可处理的表数256
--存储过程源文件的字节数小于批处理大小或250MB
--每个存储过程的参数数目1024
--嵌套的子查询数32
--嵌套的触发器层数32
--每个SELECT语句可处理的列数4096
--每个INSERT语句可处理的列数1024