MySQL进阶2
MySQL進階2
或 create table 表名(字段名1 數據類型, 字段名2 數據類型...primary key(要添加主鍵的字段名));
數據完整性:
數據完整性:保證用戶輸入的數據保存到數據庫中是正確的
添加數據完整性:在創建表時給表中添加約束
數據完整性分類:實體完整性,域完整性,參照完整性
?
實體完整性:
表中的一行(一條記錄)代表一個實體:
實體完整性的作用:標識每一行數據不重復,行級約束
約束類型:主鍵約束,唯一約束,自動增長列
?
主鍵約束:
特點:每個表中只有一個主鍵,數據唯一且不能為null
添加方式:
create table 表名(字段名1 數據類型 primary key, 字段名2 數據類型...);或 create table 表名(字段名1 數據類型, 字段名2 數據類型...primary key(要添加主鍵的字段名));
?
也可以先創建表,再修改表添加主鍵:
alter table 表名 add constraint primary key(字段名);?
聯合主鍵:兩個字段數據同時相同時,才違反聯合主鍵約束
?
唯一約束:
特點:指定列的數據不能重復,但可以為空值
添加方式:
create table 表名(字段名1 數據類型...字段名n 數據類型 unique...);?
自動增長列:
特點:指定列的數據會自動增長,即使數據刪除,還是從刪除的序號繼續往下
添加方式:
create table 表名(字段名1 數據類型 priimary key auto_increment, 字段2 數據類型 unique);?
?
域完整性:
限制此單元的數據正確,不對照此列的其他單元格比較,域代表當前單元格
?
域完整性約束:
數據類型:數值類型,日期類型,字符串類型
非空約束:
create table 表名(字段名1 數據類型 primary key auto_increment, 字段名2 數據類型 unique not null...);默認值約束:
create table 表名(字段名1 數據類型 primary key auto_increment, 字段名2 數據類型 unique not null default 默認值...);插入的時候,values當中的值直接給default
?
?
參照完整性:
指表與表之間的一種對應關系,通常情況下可以設置兩個表之間的主鍵外鍵關系或者編寫兩表之間的觸發器來實現,有對應參照完整性的兩張表格,在對他們進行數據插入更新刪除的過程中,系統都會將被修改的表格與另一張對應表格進行對照,從而阻止一些不正確的數據的操作
特點:數據庫的主鍵和外鍵類型一定要一致,兩個表必須是InnoDB類型,設置參照完整性后外鍵當中的內值必須得是主鍵當中的內容
?
一個表設置當中的字段設置為主鍵,設置主鍵的為主表:
?
?
創建表時設置外鍵,設置外鍵的為子表:
?
?
posted on 2018-09-17 19:11 732618078 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/xzx123/p/9664272.html
總結
- 上一篇: 在linux或者windows上直观查看
- 下一篇: coredata 数据库升级