MySQL基礎五

來源:互聯網
上載者:User

標籤:arch   座位號   唯一約束   reference   arc   end   div   name   資料   

1 約束1.1 約束的基本介紹
  • 一種限制,用於限制表中的資料,為了保證表中的準確和可靠性。
1.2 約束的分類
  • NOT NULL:非空約束。
  • DEFAULT:預設約束,用於保證該欄位有預設值。
  • PRIMARY KEY:主鍵約束,用於保證該欄位具有唯一性,並且非空。
  • UNIQUE:唯一約束,用於保證該欄位具有唯一性,可以為空白。
  • CHECK:檢查約束,MySQL不支援。
  • FOREIGN KEY:外鍵約束,用於限制兩個表的關係,用於保證該表的欄位的值必須來自於主表的關聯列的值。
1.3 添加約束的時機
  • 建立表的時候添加約束
  • 修改表的時候添加約束
1.4 資料行層級條件約束和表級約束
create table 表名(   列名 欄位類型 資料行層級條件約束,   ……,   表級約束)

 

  • 資料行層級條件約束:除了外鍵約束,都支援。
  • 表級約束:除了非空和預設,都支援。
1.5 約束的應用
  • 樣本:
-- 添加資料行層級條件約束CREATE TABLE stu_info (    # 主鍵    id INT PRIMARY KEY auto_increment,    #學生姓名    stu_name VARCHAR (20) NOT NULL,    #性別    gender CHAR (1) DEFAULT ‘男‘,    #座位號    seat INT UNIQUE,    #年齡    age INT DEFAULT 18);

 

  • 樣本:
CREATE TABLE major (    id INT PRIMARY KEY auto_increment,    major_name VARCHAR (20));-- 添加表級約束CREATE TABLE stu_info (    # 主鍵    id INT PRIMARY KEY auto_increment,    #學生姓名    stu_name VARCHAR (20) NOT NULL,    #性別    gender CHAR (1) DEFAULT ‘男‘,    #座位號    seat INT UNIQUE,    #年齡    age INT DEFAULT 18,    #外鍵    marjor_id INT,    CONSTRAINT fk_marjor_id FOREIGN KEY (marjor_id) REFERENCES major(id));

 

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.