㈠ 請問下在sql server中,我創建約束的時候沒有定義約束名,它默認的約束名是什麼呀
如果不指定的話,默認約束名是 約束簡寫_表名
主鍵(Primary Key)約束:如 PK_表名
唯一(Unique Key)約束:如 UQ_表名
默認(Default Key)約束:如 DF_表名
檢查(Check Key)約束:如 CK_表名
外鍵(Foreign Key)約束:如 FK_表名
例如表名是TEST 那相應的默認約束名稱 為 XX_表名
㈡ sql資料庫中,表約束,和列約束是什麼意思,簡單說說
約束,主要為了維護資料庫的完整性而定義的一些規則,列約束作為列定義的一部分只作用於此列本身。表約束作為表定義的一部分,可以作用於多個列。在這里舉幾個例子。
1.主鍵約束
主關鍵字約束指定表的一列或幾列的組合的值在表中具有惟一性,即能惟一地指定一行記錄。每個表中只能有一列被指定為主關鍵字,且IMAGE 和TEXT 類型的列不能被指定為主關鍵字,也不允許指定主關鍵字列有NULL 屬性。
多列組成的主鍵叫聯合主鍵,聯合主鍵就是表級約束,單列主鍵就是列級約束。
2.唯一性約束
某一列的值,在這個表中,只能出現一個,比如身份證號碼等
3.外鍵約束
外關鍵字約束定義了表之間的關系。當一個表中的一個列或多個列的組合和其它表中的主關鍵字定義相同時,就可以將這些列或列的組合定義為外關鍵字,並設定它適合哪個表中哪些列相關聯
等等,不一一列舉了。
㈢ 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語句的外鍵約束是什麼
create table score。
㈤ SQL中表約束是什麼意思啊,它的作用是什麼謝謝
約束是在表中定義的用於維護資料庫完整性的一些規則。
通過為表中的列定義約束可以防止將錯誤的數據插入表中,也可以保持表之間數據的一致性
.若某個約束條件只作用於單獨的列,可以將其定義為列約束也可定義為表約束;
若某個約束條件作用域多個列,則必須定義為表約束。
㈥ SQL中表約束是什麼意思啊,它的作用是什麼謝謝
約束是在表中定義的用於維護資料庫完整性的一些規則。
通過為表中的列定義約束可以防止將錯誤的數據插入表中,也可以保持表之間數據的一致性
.若某個約束條件只作用於單獨的列,可以將其定義為列約束也可定義為表約束;
若某個約束條件作用域多個列,則必須定義為表約束。
㈦ 在sql server中,默認的約束名是什麼
createtable 。
㈧ 什麼是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 約束名
SQL 約束(Constraints)
SQL 約束用於規定表中的數據規則。
如果存在違反約束的數據行為,行為會被約束終止。
約束可以在創建表時規定(通過 CREATE TABLE 語句),或者在表創建之後規定(通過 ALTER TABLE 語句)。
㈩ sql約束名是什麼
constraint 約束名字
用法:
alt table 表名
add constraint 約束名 約束類型 (約束內容)