SQL在建立约束时,给约束取得名字是干什么用?怎么用?约束名字存在哪里了?

如题所述

给约束取名字,   目的是将来你可以比较容易的删除掉.

否则你要自己去查询数据字典表.


例如下面的例子.

唯一约束的名字,  是  t_123,  那么当我不需要这个约束的时候

如果我知道名字, 那么可以直接去删除掉. 




-- 创建测试表.
CREATE TABLE test_123 (
  id   INT,
  value  VARCHAR(10)
);
GO

-- 创建 UNIQUE 约束.
ALTER TABLE test_123
  ADD CONSTRAINT t_123 UNIQUE (value);
GO

-- 删除  UNIQUE 约束.
ALTER TABLE [test_123] 
DROP CONSTRAINT [t_123];
GO


如果我不知道约束的名字, 那么我需要去查询数据字典表


SELECT
  tab.name AS [表名],
  idx.name AS [约束名称],
  col.name AS [约束列名]
FROM
  sys.indexes idx
    JOIN sys.index_columns idxCol 
      ON (idx.object_id = idxCol.object_id 
          AND idx.index_id = idxCol.index_id 
          AND idx.is_unique_constraint = 1)
    JOIN sys.tables tab
      ON (idx.object_id = tab.object_id)
    JOIN sys.columns col
      ON (idx.object_id = col.object_id
          AND idxCol.column_id = col.column_id);


查询到约束名称以后,  在删除掉这个约束.



以上 SQL 语句,   SQL  Server  2008 Express  下测试通过。

其他数据库, 由于 数据字典表不同, 因此语句也就不同了。

温馨提示:内容为网友见解,仅供参考
无其他回答

SQL里constraint到底是用来做什么的
primary key是建立主键,foreign key是建立外键 constraint就是约束的意思

SQL里constraint到底是用来做什么的?
(Constraint)约束 是用来实现数据库3大范式用的!约束的语法我想你也知道!alt table 表名 add constraint 约束名 约束类型 (约束内容)最基本的约束 比如 你有2个表 A 和 B B 表中有一列需要引用 A 表中的一列 那么你就要 建立 约束!你说有的人会在建表的同时建立约束.时的,我也是.但前提是...

SQL中的几种约束的创建与删除
外键约束:(Foreign Key Constraint) 用于在两表之间建立关系,需要指定引用主表的哪一列 一、添加约束 在创建表时,我们可以在字段后添加各种约束,但一般不这样混用,推荐将添加约束和建表的语句分开编写。添加约束的语法如下:Code:Alter Table 表名 Add Constraint 约束名 约束类型 具体的约束类型 ...

SQL中如何设置唯一性约束(sql唯一性约束语句)
约束用于限制加入表的数据的类型。可以在创建表时规定约束(通过CREATETABLE语句),或者在表创建之后也可以(通过ALTERTABLE语句)。

sql中怎样创建外键约束
在SQL中,创建外键约束是为了确保数据的一致性和完整性。要实现这一操作,首先需要使用ALTER TABLE语句,具体步骤如下:首先,确定要添加外键约束的表B,使用ALTER TABLE B开始 其基本语法是:alter table 表名 add constraint 外键约束名,这里外键约束名(如Fk_s)应具有唯一性,且不能使用数值(如1,...

如何在SQL资源管理器中添加约束表达式
1、首先我们打开电脑里的SQL资源管理器,如图是一个Student表其中我们主要针对于这个表中的Phone这一列来进行演示。2、首先我们需要新建立一个数据库的语句填写模块,点击数据库的左上角上的新建查询。3、建立完毕之后呢,这里我们输入如下的SQL语句添加默认约束。4、SQL语句输入完毕之后,我们需要选择所有...

sql语句中constraint是什么意思
在创建数据库表时,可以使用SQL语句中的CONSTRAINT子句来定义这些约束条件。例如,使用PRIMARY KEY约束来定义表的主键字段等。同时,这些约束可以在创建新表时定义,也可以添加到已经存在的表中。它们是数据库设计中的核心组成部分,确保了数据的完整性和准确性。总之,Constraint在SQL中是一个非常重要的概念...

怎么用sql命令语句写check约束
分数 nchar(10) NOT NULL CHECK (分数in(between '0' and '100'))在数据库中,CHECK 约束是指约束表中某一个或者某些列中可接受的数据值或者数据格式。CHECK约束可以应用于一个或者多个列,也可以将多个CHECK 约束应用于一个列。当除去某个表时,对这个表的CHECK 约束也将同时被去除。

SQL中如何设置唯一性约束
alter table [protectionZone]add constraint cons_02 unique (zoneName)。约束用于限制加入表的数据的类型。可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句)。

在SQL里怎么写列的(“是”或“否”)约束
如果表已经创建好 alter table 表名 add constraint ck_isYes check(列名 in ('是','否'))如果表未创建好,也就是在创建表的时候,创建check约束 check in('是','否')

相似回答