本文目錄一覽:
- 1、如何在 sql server表中設置欄位為唯一約束
- 2、資料庫中怎麼設置欄位的唯一約束?
- 3、可視化添加唯一約束和默認約束的步驟是什麼?
- 4、典型約束表的創建:外鍵約束與唯一約束
- 5、mysql唯一約束
- 6、postgresql欄位值唯一約束
如何在 sql server表中設置欄位為唯一約束
資料庫約束是程序開發中常用的重要知識點,建立約束的數據,在輸入中有兩個一樣的保存就會出錯,需要建立唯一約束。
那就給大家詳細的列舉一下如何在 sql server表中設置欄位為唯一約束。
具體操作步驟:
新建資料庫並設置可寫許可權
打開SQL Server管理器窗口,用本地用戶登錄;然後點擊右鍵——新建資料庫;完成之後將資料庫文件及日誌文件設置為可讀可寫:
新建數據表
展開資料庫,點擊表——新建表,輸入名稱及數據類型。
設置主鍵約束
點擊表右鍵——設計——選中id——右鍵——設置主鍵,將id設置為主鍵,主鍵默認唯一。
測試主鍵約束
在數據表中輸入數據,為測試主鍵的約束,輸入兩行一模一樣的id,保存;
如圖所示,保存會提示主鍵不允許重複。
設置非主鍵唯一值約束
選中表,點擊菜單欄——新建查詢,將IDcard設為非主鍵唯一值,輸入以下代碼:ALTER TABLE Users ADD unique(IDcard),然後點擊執行。
測試非主唯一約束
在數據表中輸入兩行id不同,IDCard相同的數據,並保存;若出現錯誤提示,將IDCard修改之後再檢測。
關閉資料庫並斷開連接
由於資料庫會在後台運行,所以測試完之後,本地資料庫一定要斷開連接,然後關閉。
以上就是具體的操作辦法了。
資料庫中怎麼設置欄位的唯一約束?
1. 建表時加上唯一性約束
CREATE TABLE `t_user` (
`Id` int(11) NOT NULL AUTO_INCREMENT, — 自增
`username` varchar(18) NOT NULL unique, — 唯一性約束
`password` varchar(18) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk;
2.給已經建好的表加上唯一性約束
ALTER TABLE `t_user` ADD unique(`username`);
參考資料
csdn.csdn[引用時間2018-1-9]
可視化添加唯一約束和默認約束的步驟是什麼?
在表中常有一列或多列的組合,其值能唯一標識表中的每一行。
這樣的一列或多列成為表的主鍵(PrimaryKey)。一個表只能有一個主鍵,而且主鍵約束中的列不能為空值。只有主鍵列才能被作為其他表的外鍵所創建。
創建主鍵約束可以右鍵單擊表,選擇設計。
2
選中要創建主鍵的列,然後單擊上面的小鑰匙。
3
也可以右鍵需要創建主鍵的列,然後單擊小鑰匙。
END
2、Foreign Key約束
1
外鍵約束是用來加強兩個表(主表和從表)的一列或多列數據之間的連接的。創建外鍵約束的順序是先定義主表的主鍵,然後定義從表的外鍵。也就是說只有主表的主鍵才能被從表用來作為外鍵使用,被約束的從表中的列可以不是主鍵,主表限制了從表更新和插入的操作。
右鍵單擊需要設置外鍵的列(此時的表是作為從表在外鍵中出現),選擇關係。
2
接下來點擊添加–表和列規範。
3
在主鍵表中選擇主表和主表的主鍵列。
END
3、Unique約束
1
唯一約束確保表中的一列數據沒有相同的值。與主鍵約束類似,唯一約束也強制唯一性,但唯一約束用於非主鍵的一列或者多列的組合,且一個表可以定義多個唯一約束。
右鍵單擊要設置的列選擇索引/鍵。
2
然後單擊添加按鈕。
3
選擇需要設置的列,可以是一列也可以是多列的組合。
END
4、Default約束
1
若在表中定義了默認值約束,用戶在插入新的數據行時,如果該行沒有指定數據,那麼系統將默認值賦給該列,如果我們不設置默認值,系統默認為NULL。
以學生信息表為例,在表設計器中,為性別sex列填寫默認值男。
END
5、Check約束
Check約束通過邏輯表達式來判斷數據的有效性,用來限制輸入一列或多列的值的範圍。在列中更新數據時,所要輸入的內容必須滿足Check約束的條件,否則將無法正確輸入。
以學生信息表中的sex為例,我們要限制sex列的值只能為男或女。
典型約束表的創建:外鍵約束與唯一約束
外鍵約束
外鍵是用來實現參照完整性的。所謂外鍵是指在B表中出現且在A表中的同名欄位為主鍵的欄位。外鍵約束能夠將一個表和另一個表建立起聯繫,方便對它們進行級聯操作。
在創建表時,外鍵約束一般是在所有欄位說明後使用「CONSTRAINT 約束標識符 FOREIGN KEY(屬性名1) REFERENCES 表名(屬性名2)」來定義。下面截圖中的「create table」命令即使用這種方法創建了一個帶外鍵約束的表t8_employee並將該表的欄位「deptno」設成了外鍵,其對應的主表為t8_dept,主表中「deptno」為主鍵欄位。
3)、非空約束
非空約束是限定欄位值不能為空的一種約束。帶非空約束的表的創建一般是在需進行非空約束的那個欄位的「數據類型」後空一格直接給出「not null」的,即在創建表時按「欄位名 數據類型 not null」來對相關欄位進行說明。下面截圖中的命令在創建t_dept表時設置了該表中deptno欄位為非空。
mysql唯一約束
唯一約束 unique
特徵:
1.不允許有重複的值,保證數據的唯一性。
2.可以有空值
3.在一個表中,可以有多個唯一約束
4.默認情況下,唯一約束的名字和列名保持一致
5.添加唯一約束的列,系統也會默認給這個列添加一個唯一索引
索引:等同於書本的目錄,將來能夠加快數據的查詢速度。
如何添加唯一約束
1.創建表的同時創建唯一約束 UN_列名
格式一:
create table 表名(
列名1 數據類型,
列名2 數據類型,
constraint 唯一約束的名字 unique(列名1),
constraint 唯一約束的名字 unique(列名2)
);
格式二:
create table 表名(
列名1 數據類型 unique,
列名2 數據類型 unique,
列名3 數據類型
);
一個表中是可以存在多個約束的
2.針對已經存在的表,添加唯一約束
格式:
alter table 表名 add unique(列名[,列名2]);
3.刪除唯一約束
格式:
alter table 表名 drop index 唯一約束的名字;
postgresql欄位值唯一約束
postgresql 允許設置多個欄位為值唯一的約束。
使用 pgAdmin 4 設置起來很方便。而且在 postgresql 6.5.1 是默認安裝就具備的工具。
首先找到你要設置約束的表
滑鼠右鍵選擇屬性
選擇強制約束
點擊 + 號 新增一個約束
輸入內容,選擇要設置的欄位
最後點擊 保存按鈕
欄位值唯一約束就建立成功了。
之後你就會發現,除非是空值,否則你設置的欄位內是不會有重複值的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/256720.html