㈠ sql中用語句查看錶列的約束以及解除約束
SELECT
USER_CONS_COLUMNS.CONSTRAINT_NAMEAS約束名,
USER_CONS_COLUMNS.TABLE_NAMEAS表名,
USER_CONS_COLUMNS.COLUMN_NAMEAS列名,
USER_CONS_COLUMNS.POSITIONAS位置,
CONSTRAINT_TYPE,
SEARCH_CONDITION
FROM
USER_CONSTRAINTS
JOINUSER_CONS_COLUMNS
ON(USER_CONSTRAINTS.CONSTRAINT_NAME
=USER_CONS_COLUMNS.CONSTRAINT_NAME)
WHERE
CONSTRAINT_TYPEIN('C','V','O');
其實主要就是看
USER_CONSTRAINTS與 USER_CONS_COLUMNS 這2個視圖.
資料庫管理員的話
可以看
DBA_CONSTRAINTS與 DBA_CONS_COLUMNS 這2個視圖.
㈡ 資料庫用SQL語言建表,什麼是完整性約束請問如何寫出各種完整性約束
一、數據的完整性
實體完整性
實體完整性簡單的說,就是將表中的每一行看作一個實體。實體完整性要求表的標示符列或主鍵的完整性。可以通過建立唯一索引、PRIMARY KEY約束、UNIQUE約束,以及列的IDENTITY屬性來實施實體完整性。
域完整性
域完整性是指給定列的輸入有效性。要求表中指定列的數據具有正確的數據類型、格式和有效的數據范圍。強制域有效性的方法有:限制類型(通過數據類型)、格式(通過 CHECK 約束和規則)或可能值的范圍。域完整性通過 FOREIGN KEY 約束、CHECK 約束、DEFAULT 定義、NOT NULL 定義和規則來實現。
引用完整性
引用完整性又稱參照完整性。引用完整性維持被參照表和參照表之間的數據一致性,他通過主鍵(PRIMARY KEY)約束和外鍵(FOREIGN KEY)約束來實現。
用戶定義完整性
二、約束操作
與表相關的約束
在SQL 2008中,常用有6種約束,分別是NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY,DEFAULT和CHECK.
--添加主鍵約束(即primary key約束)
alter table goods add constraint pk_gid primary key(gid)
--1.刪除主鍵約束
alter table goods drop pk_gid
--添加唯一約束(即unique約束)
alter table goods add constraint uq_gname unique(gname)
--刪除唯一約束:仿1.
--添加預設約束(即default約束)
alter table goods add constraint def_gtel default 0000-00000000 for gtel
--刪除預設約束:仿1.
--添加檢查約束(即check約束)
alter table goods add constraint ck_gprice check(gprice>500)
--刪除check約束:仿1.
--創建表2
create table g_p
(
wno int identity(1,1) primary key,
gno int
)
--添加外鍵約束(即foreign key約束)
alter table g_p
add constraint fk_gno
foreign key(gno) references goods(gid)
--刪除外鍵約束:仿1.
--使用newid()
select newid()--生成全球唯一的ID號
create table customer
(
custID uniqueidentifier not null default newid(),
customer char(30) not null
)
insert customer values(newid(),\''\''accp\''\'')--向customer中插入信息
-----------------------------------慢慢研究----
㈢ SQL資料庫中如何查看約束有那些方法求指教。
可以從下面的數據字典中查詢想要的約束信息
dba_constraints
dba_cons_columns
㈣ sql server怎麼查詢某一表的某一欄位是否有約束
示例:
CREATE TABLE AA (
BB INT UNIQUE
);
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)
WHERE
tab.name = 'AA'
結果:
表名 約束名稱 約束列名
AA UQ__AA__3214B5C34460231C BB
㈤ SQL Server 2008 如何查看與創建約束
查看或者創建約束都要使用到 Microsoft SQL Server Managment Studio。
1. PRIMARY KEY約束
在表中常有一列或多列的組合,其值能唯一標識表中的每一行。這樣的一列或多列成為表的主鍵(Primary Key)。一個表只能有一個主鍵,而且主鍵約束中的列不能為空值。
查看PRIMARY KEY約束可以在object explorer中依次展開Databases – 選擇你要查看的資料庫(在我的例子中是testdatabase) – Tables – 你要查看的表(在我的例子中是company)- Columns
如上圖所示,Primary Key 有一把金色的小鑰匙。companyid 即為company表的primary key。
創建PRIMARY KEY約束可以右鍵點擊表,然後選擇Design,打開表設計器
選中column,點擊上面的金色小鑰匙,來創建Primary Key。
㈥ sql語句,怎麼查看一個表中的所有約束
sp_mshelpcolumns student
如上可以看到該表的所有結構、約束、默認值等
㈦ 如何查看SQL表中都存在哪些約束
alt+F1就可以查看該表的表結構以及各種約束
㈧ sqlserver資料庫里怎麼查找一個表裡的約束,要查出 約束名、列名、約束類型用sql語句查詢
上面的各樓對SQLSERVER的系統對象操作的語句,要切換到master資料庫中。
切記切記。
㈨ sql查詢表中的約束
exec sp_helpconstraint S
ALTER TABLE S DROP CONSTRAINT 你自己的約束名稱;
㈩ sql資料庫中,表約束,和列約束是什麼意思,簡單說說
約束,主要為了維護資料庫的完整性而定義的一些規則,列約束作為列定義的一部分只作用於此列本身。表約束作為表定義的一部分,可以作用於多個列。在這里舉幾個例子。
1.主鍵約束
主關鍵字約束指定表的一列或幾列的組合的值在表中具有惟一性,即能惟一地指定一行記錄。每個表中只能有一列被指定為主關鍵字,且IMAGE 和TEXT 類型的列不能被指定為主關鍵字,也不允許指定主關鍵字列有NULL 屬性。
多列組成的主鍵叫聯合主鍵,聯合主鍵就是表級約束,單列主鍵就是列級約束。
2.唯一性約束
某一列的值,在這個表中,只能出現一個,比如身份證號碼等
3.外鍵約束
外關鍵字約束定義了表之間的關系。當一個表中的一個列或多個列的組合和其它表中的主關鍵字定義相同時,就可以將這些列或列的組合定義為外關鍵字,並設定它適合哪個表中哪些列相關聯
等等,不一一列舉了。