程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql學習(慕課學習筆記5)約束,mysql學習筆記

Mysql學習(慕課學習筆記5)約束,mysql學習筆記

編輯:MySQL綜合教程

Mysql學習(慕課學習筆記5)約束,mysql學習筆記


約束類型:

1、NOT NULL (非空約束)

 

2、PRIMARY KEY(主鍵約束)

每張數據表只能存在一個主鍵

主鍵保證記錄的唯一性

主鍵自動為NOT NULL

(Auto_increment  自動編碼  )

 

3、UNIQUE KEY(唯一約束)

唯一約束可以保證記錄的唯一性

唯一約束的字段可以為空值

每張數據表可以存在多個唯一約束

向帶有唯一約束的username字段插入相同的內容時,系統會提示錯誤

 

DEFAULT(默認約束)

對sex字段添加默認約束

當sex字段為空時系統默認將其記錄為3

 

FOREIGN KEY(外鍵約束)

保持數據一致性,完整性

實現一對一或一對多關系

Mysql的配置文件

Default_storage-engine=INNODB

創建父表

存儲在INNODB

SHOW CREATE TABLE province;

創建子表

FOREIGN KEY(pid) REFERENCES prvince(id)

父表參照列沒有創建索引

外鍵不存在索引的話,mysql將自動創建

 外鍵約束的參照操作

Cascade 從父表刪除或更新且自動刪除或更新子表中匹配的行

SET NULL 從父表刪除或更新行,並設置子表中的外鍵列為NULL

Restrict  拒絕對父表的刪除或更新操作

No action 標准SQL的關鍵字,在MYSQL中與restrict相同

進行父表的添加,看子表的變動

刪除主表province中id=3的記錄

子表user1中pid為3的記錄也被刪除

對一個數據列建立的約束,稱為列級約束

對多個數據列建立的約束,稱為表級約束

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved