sql约束名
⑴ sql server中如何为默认约束起约束名
create table student
(
s_id int,
s_name varchar(20),
s_age int,
s_籍贯 varchar(10) default '汉族',
s_sex char(2) not null,
)
alter table student add constraint Agecheck check(s_age>15 and s_age<30)
alter table student add constraint primaryid primary key(s_id)
⑵ SQL在建立约束时,给约束取得名字是干什么用怎么用约束名字存在哪里了
给约束取名字, 目的是将来你可以比较容易的删除掉.
否则你要自己去查询数据字典表.
例如下面的例子.
唯一约束的名字, 是 t_123, 那么当我不需要这个约束的时候
如果我知道名字, 那么可以直接去删除掉.
--创建测试表.
CREATETABLEtest_123(
idINT,
valueVARCHAR(10)
);
GO
--创建UNIQUE约束.
ALTERTABLEtest_123
ADDCONSTRAINTt_123UNIQUE(value);
GO
--删除UNIQUE约束.
ALTERTABLE[test_123]
DROPCONSTRAINT[t_123];
GO
如果我不知道约束的名字, 那么我需要去查询数据字典表
SELECT
tab.nameAS[表名],
idx.nameAS[约束名称],
col.nameAS[约束列名]
FROM
sys.indexesidx
JOINsys.index_columnsidxCol
ON(idx.object_id=idxCol.object_id
ANDidx.index_id=idxCol.index_id
ANDidx.is_unique_constraint=1)
JOINsys.tablestab
ON(idx.object_id=tab.object_id)
JOINsys.columnscol
ON(idx.object_id=col.object_id
ANDidxCol.column_id=col.column_id);
查询到约束名称以后, 在删除掉这个约束.
以上 SQL 语句, SQL Server 2008 Express 下测试通过。
其他数据库, 由于 数据字典表不同, 因此语句也就不同了。
⑶ 请问下在sql server中,我创建约束的时候没有定义约束名,它默认的约束名是什么呀
如果不指定的话,默认约束名是 约束简写_表名
主键(Primary Key)约束:如 PK_表名
唯一(Unique Key)约束:如 UQ_表名
默认(Default Key)约束:如 DF_表名
检查(Check Key)约束:如 CK_表名
外键(Foreign Key)约束:如 FK_表名
例如表名是TEST 那相应的默认约束名称 为 XX_表名
⑷ 在sql server中,默认的约束名是什么
createtable 。
⑸ sql约束名是什么
constraint 约束名字
用法:
alt table 表名
add constraint 约束名 约束类型 (约束内容)
⑹ SQL server语句所有的约束条件
1、主键约束(Primary Key constraint):要求主键列数据唯一,并且不允许为空。
2、唯一约束(Unique constraint):要求该列唯一,允许为空,但只能出现一个空值。
3、检查约束(Check constraint):某列取值范围限制,格式限制等,如有关年龄、邮箱(必须有@)的约束。
4、默认约束(Default constraint):某列的默认值,如在数据库里有一项数据很多重复,可以设为默认值。
5、外键约束(Foreign Key constraint):用于在两个表之间建立关系,需要指定引用主表的哪一列。
(6)sql约束名扩展阅读:
对于存在外键约束的表,如果进行删除非空的外键,可能会出现错误。 如果在 FOREIGN KEY 约束的列中输入非 NULL 值,则此值必须在被引用的列中存在,否则将返回违反外键约束的错误信息。
列级 FOREIGN KEY 约束的 REFERENCES 子句仅能列出一个引用列,且该列必须与定义约束的列具有相同的数据类型。表级 FOREIGN KEY 约束的 REFERENCES 子句中引用列的数目必须与约束列列表中的列数相同。每个引用列的数据类型也必须与列表中相应列的数据类型相同。
⑺ 什么是SQL约束不要存理论的,谢谢!
sql 约束就是你想设定某个字段有个限定.
比如说:在性别的字段,必须是男或者女这就是个约束;用check 约束
还有比如成绩字段应该在[0,100],这就需要用 beteen .... and 约束
等等,还有好多.
SQL约束是SQL数据库中非常重要的部分,下面介绍的几个SQL语句用于SQL约束控制,希望可以让您对SQL约束有更深的认识。
1)禁止所有表SQL约束的SQL语句
select 'alter table '+name+' nocheck constraint all' fromwhere type='U'
2)删除所有表数据的SQL
select 'TRUNCATE TABLE '+name from sysobjects '
3)恢复所有表SQL约束的SQL
select 'alter table '+name+' check constraint all' from type='U'
4)删除某字段的SQL约束
declare @name varchar(100)
--DF为约束名称前缀
selectb.name from syscolumns a,sysobjects b where a.id=object_id('表名') and b.id=a.cdefault '字段名' and b.name like 'DF%'
⑻ sql server如何在表上列中设置约束以020开头
T-SQL代码:
ALTERTABLE表名
ADDCONSTRAINT约束名CHECK(列名LIKE'020%')
例如:
CREATE TABLE Persons
(
P_Id varchar(255) NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (Left(P_Id,3)='030')
)
(8)sql约束名扩展阅读:
由于Internet的出现而带来的全球数据访问也同时增加了潜在的安全危险。对于数据库的安全要求决不会比以前更高,而SQL Server7.0还没有获得任何类型的安全证书。相比之下,Oracle是唯一获得最高认证级别的ISO标准认证的数据库。
Oracle高级的安全特性考虑了强制实施的细小权限,先进的审查,增强的访问控制,安全的分布是处理与复制,以及使用附加的外部签发机制的能力。SQL Server7.0没有这些特性。
⑼ sql约束名,应该怎么取,有什么特殊规定嘛
没有,只是个名字,不重复就可以,一般就用:P_表名,
⑽ SQL怎么自定义约束
语法: ALTER TABLE 表名 ADD CONSTRAINT约束名约束类型 具体的约束声明
约束名的取名规则推荐采用:约束类型_约束列,当然你也可以不这么命名,这样单纯是比较方便
如:主键(Primary Key)约束:PK_UserId
唯一(Unique key)约束: UQ_UserCardId
默认(Default Key)约束 DF_UserPasswd
检查(Check Key)约束 CK_Gender
外键(Foreign Key)约束: FK_SortId
--以上加棕色段是我定义表中的列名称
打个比方:add constraint PK_UserId PRIMARY KEY (UserId)
--PK_UserId 是自定义约束名 , PRIMARY KEY 是约束类型, (UserId)是具体的约束声明