SQL?PRIMARY?KEY唯一標識表中記錄的關鍵約束語句
SQL NOT NULL 約束
SQL NOT NULL
約束用于強制確保列不接受 NULL 值。這意味著該字段始終包含一個值,而不允許插入新記錄或更新記錄時不提供此字段的值。
在 CREATE TABLE 時使用 SQL NOT NULL
以下 SQL 確保在創(chuàng)建 "Persons" 表時,“ID”、“LastName” 和 “FirstName” 列將不接受 NULL 值:
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255) NOT NULL, Age int );
在 ALTER TABLE 時使用 SQL NOT NULL
要在已創(chuàng)建的 "Persons" 表上的 "Age" 列上創(chuàng)建 NOT NULL
約束,使用以下 SQL:
對于 SQL Server / MS Access:
ALTER TABLE Persons ALTER COLUMN Age int NOT NULL;
對于 MySQL / Oracle(10G 之前的版本):
ALTER TABLE Persons MODIFY COLUMN Age int NOT NULL;
對于 Oracle 10G 及更高版本:
ALTER TABLE Persons MODIFY Age int NOT NULL;
通過這些 SQL 語句,您可以確保指定列不會包含 NULL 值,從而增強數據的完整性。
SQL UNIQUE 約束
SQL UNIQUE
約束確保列中的所有值都是不同的。UNIQUE
和 PRIMARY KEY
約束都為列或一組列提供了唯一性的保證。PRIMARY KEY
約束自動具有 UNIQUE
約束。每個表只能有一個 PRIMARY KEY
約束,但可以有多個 UNIQUE
約束。
在 CREATE TABLE 時使用 SQL UNIQUE 約束
以下 SQL 在創(chuàng)建 "Persons" 表時在 "ID" 列上創(chuàng)建了一個 UNIQUE
約束:
對于 SQL Server / Oracle / MS Access:
CREATE TABLE Persons ( ID int NOT NULL UNIQUE, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int );
對于 MySQL:
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, UNIQUE (ID) );
要為 UNIQUE
約束命名,并在多列上定義 UNIQUE
約束,請使用以下 SQL 語法:
對于 MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, CONSTRAINT UC_Person UNIQUE (ID, LastName) );
在 ALTER TABLE 時使用 SQL UNIQUE 約束
要在表已經創(chuàng)建的情況下在 "ID" 列上創(chuàng)建 UNIQUE
約束,請使用以下 SQL:
對于 MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons ADD UNIQUE (ID);
要為 UNIQUE
約束命名,并在多列上定義 UNIQUE
約束,請使用以下 SQL 語法:
對于 MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons ADD CONSTRAINT UC_Person UNIQUE (ID, LastName);
刪除 UNIQUE 約束
要刪除 UNIQUE
約束,請使用以下 SQL:
對于 MySQL:
ALTER TABLE Persons DROP INDEX UC_Person;
對于 SQL Server / Oracle / MS Access:
ALTER TABLE Persons DROP CONSTRAINT UC_Person;
通過這些 SQL 語句,您可以在數據庫中定義和管理 UNIQUE
約束,以確保列中的數據唯一性。
SQL PRIMARY KEY 約束
SQL PRIMARY KEY
約束唯一標識表中的每條記錄。主鍵必須包含唯一的值,并且不能包含 NULL 值。一個表只能有一個主鍵;在表中,這個主鍵可以由單個列(字段)或多個列(字段)組成。
在 CREATE TABLE 時使用 SQL PRIMARY KEY
以下 SQL 在創(chuàng)建 "Persons" 表時在 "ID" 列上創(chuàng)建了一個 PRIMARY KEY
:
對于 MySQL:
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, PRIMARY KEY (ID) );
對于 SQL Server / Oracle / MS Access:
CREATE TABLE Persons ( ID int NOT NULL PRIMARY KEY, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int );
要允許對主鍵約束進行命名,并定義在多列上的主鍵約束,請使用以下 SQL 語法:
對于 MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, CONSTRAINT PK_Person PRIMARY KEY (ID, LastName) );
注意: 在上面的示例中只有一個 PRIMARY KEY
(PK_Person
)。然而,主鍵的值由兩個列(ID + LastName)組成。
在 ALTER TABLE 時使用 SQL PRIMARY KEY
要在表已經創(chuàng)建的情況下在 "ID" 列上創(chuàng)建主鍵約束,請使用以下 SQL:
對于 MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons ADD PRIMARY KEY (ID);
要允許對主鍵約束進行命名,并定義在多列上的主鍵約束,請使用以下 SQL 語法:
對于 MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons ADD CONSTRAINT PK_Person PRIMARY KEY (ID, LastName);
注意: 如果使用 ALTER TABLE
添加主鍵,則主鍵列必須在創(chuàng)建表時聲明為不包含 NULL 值。
刪除 PRIMARY KEY 約束
要刪除主鍵約束,請使用以下 SQL:
對于 MySQL:
ALTER TABLE Persons DROP PRIMARY KEY;
對于 SQL Server / Oracle / MS Access:
ALTER TABLE Persons DROP CONSTRAINT PK_Person;
通過這些 SQL 語句,您可以在數據庫中定義和管理 PRIMARY KEY
約束,以確保表中的數據具有唯一的標識。
以上就是SQL PRIMARY KEY唯一標識表中記錄的關鍵約束語句的詳細內容,更多關于SQL PRIMARY KEY約束的資料請關注腳本之家其它相關文章!
相關文章
mysql 8.0.11 macos10.13安裝配置方法圖文教程
這篇文章主要為大家詳細介紹了mysql 8.0.11 macos10.13安裝配置方法圖文教程,mysql數據庫安裝及配置環(huán)境變量,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07Linux下MySQL 5.5/5.6的修改字符集編碼為UTF8的方法
下面小編就為大家?guī)硪黄狶inux下MySQL 5.5/5.6的修改字符集編碼為UTF8的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05