SQL在设置约束和索引时,有时会取个名字,请问这个名字是干嘛用的?怎么使用?它存在哪里了?
SQL在设置约束和索引时,有时会取个名字,请问这个名字是干嘛用的?怎么使用?它存在哪里了?还有定义完索引我该如何使用它呀???本人刚接触SQL,麻烦各位大侠了!谢谢啦~...
SQL在设置约束和索引时,有时会取个名字,请问这个名字是干嘛用的?怎么使用?它存在哪里了?
还有定义完索引我该如何使用它呀???
本人刚接触SQL,麻烦各位大侠了!谢谢啦~ 展开
还有定义完索引我该如何使用它呀???
本人刚接触SQL,麻烦各位大侠了!谢谢啦~ 展开
2个回答
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 里面的数据。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询