SQL在设置约束和索引时,有时会取个名字,请问这个名字是干嘛用的?怎么使用?它存在哪里了?

SQL在设置约束和索引时,有时会取个名字,请问这个名字是干嘛用的?怎么使用?它存在哪里了?还有定义完索引我该如何使用它呀???本人刚接触SQL,麻烦各位大侠了!谢谢啦~... SQL在设置约束和索引时,有时会取个名字,请问这个名字是干嘛用的?怎么使用?它存在哪里了?
还有定义完索引我该如何使用它呀???

本人刚接触SQL,麻烦各位大侠了!谢谢啦~
展开
 我来答
匿名用户
2013-06-08
展开全部

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

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


例如下面的例子.

唯一约束的名字,  是  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



如果我不指定约束名称, 例如:


1> ALTER TABLE test_sub
2>   ADD UNIQUE (value)
3> go



那么这种情况下, 如果我要删除这个约束, 就需要去查询数据字典表。


由于各个数据库厂商的数据字典表各有不同, 下面简单列一些常用的数据库。



Oracle  参考    USER_CONSTRAINTS   视图



SQL Server  

对于 唯一约束, 参考  sys.indexes  视图里面的  is_unique_constraint = 1  的数据

对于外键约束,参考  sys.foreign_keys 视图里面的数据

对于 Check约束, 参考 sys.check_constraints 视图里面的数据




对于 MySQL

可以参考  INFORMATION_SCHEMA.TABLE_CONSTRAINTS  里面的数据。

虎嗅蔷薇的李小多
2013-06-20
知道答主
回答量:21
采纳率:0%
帮助的人:16.1万
展开全部
任何对象都有名字,也可以单一的增加或者删除,都有对应的脚本。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式