菜鳥的MySQL學習筆記(二)

來源:互聯網
上載者:User

標籤:

3-1約束

1、約束保證資料的完整性和一致性;2、約束分表級約束(兩個或兩個個以上欄位的約束)和資料行層級條件約束(一個欄位約束);3、NOT NULL       非空;PRIMARY KEY       主鍵約束;UNIQUE KEY         唯一約束;DEFAULT               預設約束;FOREIGN KEY        外鍵約束。空值與非空值:NULL 與 NOT NULL 自動編號:AUTO_INCREMENT 自動編號,必須與主鍵組合使用,預設情況下起始值為1,每次增量為1;主鍵:PRIMARY KEY  主鍵約束,每張滑鼠只存在一個主鍵,主鍵保證記錄的唯一性,主鍵自動為NOT NULL;#CREATE TABLE tb3(id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,       #設定主鍵 和自動編號username VACHAR(20) NOT NULL);唯一約束:UNIQUE KEY 唯一約束,可以保證記錄的唯一性,可以為空白值(只有一個NULL值),每張資料表可以存在多個唯一約束#CREATE TABLE tb4(id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,username VACHAR(20) NOT NULL UNIQUE KEY,     #設定姓名唯一約束 age TINYINT UNSIGNED);預設約束:DEFAULT  當插入記錄時,如果沒有明確為欄位賦值,則自動賦予預設值。#CREATE TABLE tb5(id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VACHAR(20) NOT NULL UNIQUE KEY,
sex EMUI(‘1‘,‘2‘,‘3‘) DEFAULT ‘3‘);       #設定預設性別欄位為3 外鍵約束:要求:父表和子表必須使用相同的儲存引擎,只能為InnoDB,且禁止使用暫存資料表;外鍵列和參照列必須具有相似的資料類型,其中數位長度或者是否有符號位必須相同;而字元的長度則可以不同;外鍵列和參照列必須建立索引。如外鍵列不存在索引,mysql將自動建立索引。#預設儲存引擎:bin目錄下 my.ini檔案中  修改成INNODB;針對外鍵約束的參照操作:1、CASCADE:從父表刪除或更新且自動刪除或更新子表中匹配的行;2、SET NULL:從父表刪除或更新行,並設定子表中的外鍵列;3、RESTRICT:拒絕父表的刪除或更新操作;4、NO ACTION:標準SQL的關鍵字,再mysql中與RESTRICT相同。表級約束和資料行層級條件約束:對一個資料列建立的約束 為資料行層級條件約束;對多個資料列建立的約束稱為表級約束。表級約束只能再列定義後聲明,資料行層級條件約束可以再列定義時聲明,也可以再列定義後聲明。

 

菜鳥的MySQL學習筆記(二)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.