MySQL是一種常用的關系型數(shù)據(jù)庫管理系統(tǒng),它支持多種約束來保證數(shù)據(jù)的完整性和一致性。下面我們來看看MySQL中常用的約束有哪些。
1. 主鍵約束 主鍵約束用來保證表中每一行數(shù)據(jù)的唯一性。一個表可以有多個列作為主鍵,但每個主鍵列的值都必須唯一,且不能為空。 CREATE TABLE 表名 ( 列1 數(shù)據(jù)類型 PRIMARY KEY, 列2 數(shù)據(jù)類型, ... );
在上面的代碼中,列1被定義為主鍵列,其他列可以定義為普通列。
2. 唯一約束 唯一約束用來保證列中的數(shù)據(jù)唯一,但可以有空值。一個表可以有多個唯一約束,每個唯一約束可以包含多個列。 CREATE TABLE 表名 ( 列1 數(shù)據(jù)類型 UNIQUE, 列2 數(shù)據(jù)類型, ... );
上面的代碼中,列1被定義為唯一列,其他列可以定義為普通列。
3. 非空約束 非空約束用來保證列中的數(shù)據(jù)不能為空。 CREATE TABLE 表名 ( 列1 數(shù)據(jù)類型 NOT NULL, 列2 數(shù)據(jù)類型, ... );
在上面的代碼中,列1被定義為非空列,其他列可以定義為普通列。
4. 外鍵約束 外鍵約束用來保證數(shù)據(jù)的一致性和完整性,它要求一個表中的某一列的值必須在另一個表中存在,稱為父表和子表。 CREATE TABLE 父表 ( 列1 數(shù)據(jù)類型 PRIMARY KEY, 列2 數(shù)據(jù)類型, ... ); CREATE TABLE 子表 ( 列3 數(shù)據(jù)類型, 列4 數(shù)據(jù)類型, 列5 數(shù)據(jù)類型 REFERENCES 父表(列1), ... );
在上面的代碼中,列5被定義為外鍵列,其值必須在父表的列1中存在。
以上就是MySQL中常用的約束,它們可以保證數(shù)據(jù)的完整性和一致性,使得數(shù)據(jù)更加可靠和安全。
上一篇2668 mysql
下一篇2203 mysql