mysql中約束儲存在information_schema資料庫的table_constraints中,可以通過該錶查詢約束資訊;
常用5種約束:
not null: 非空約束,指定某列不為空
unique: 唯一約束,指定某列和幾列組合的資料不能重複
primary key: 主鍵約束,指定某列的資料不能重複、唯一
foreign key: 外來鍵,指定該列記錄屬於主表中的一條記錄,參照另一條資料
check: 檢查,指定乙個表示式,用於檢驗指定資料
mysql不支援check約束,但可以使用check約束,而沒有任何效果;
根據約束資料列限制,約束分為:
單列約束:每個約束只約束一列
多列約束:每個約束約束多列資料
一、not null約束
非空約束用於確保當前列的值不為空值,非空約束只能出現在表物件的列上。
null型別特徵:
所有的型別的值都可以是null,包括int、float 等資料型別
create table temp(
idint not null,
namevarchar(255) not null default 'abc',
***char null)//上面的table 加上了非空約束,也可以用alter來修改或增加非空約束//增加非空約束alter table tempmodify ***varchar(2) not null;//取消非空約束alter table temp modify *** varchar(2) null;//取消非空約束,增加預設值alter
mysql 字段 大於0 mysql 字段型別
個很小的整數。有符號的範圍是 128到127,無符號的範圍是0到255。smallint m unsigned zerofill 乙個小整數。有符號的範圍是 32768到32767,無符號的範圍是0到65535。mediumint m unsigned zerofill 乙個中等大小整數。有符號的範...
MySQL自學筆記 設定外來鍵約束
1.外來鍵約束的要求 a.父表和子表必須使用相同的儲存引擎,而且禁止使用臨時表。b.資料表的儲存引擎只能為innodb。c.外來鍵和參照列必須具有相似的資料型別。其中數字的長度或是否有符號位必須相同 而字元的 長度則可以不同。d.外來鍵列和參照列必須建立索引。注意 建立外來鍵時,定義外鍵名時,不能加...
如何在MySQL中設定外來鍵約束
mysql外來鍵設定詳解 1 外來鍵的使用 外來鍵的作用,主要有兩個 乙個是讓資料庫自己通過外來鍵來保證資料的完整性和一致性 乙個就是能夠增加er圖的可讀性 有些人認為外來鍵的建立會給開發時運算元據庫帶來很大的麻煩.因為資料庫有時候會由於沒有通過外來鍵的檢測而使得開發人員刪除,插入操作失敗.他們覺得...