MYSQL的學習筆記 MYSQL的約束

2021-07-23 03:46:33 字數 1189 閱讀 3202

約束

--約束可以保證資料的完整性和一致性

--約束分為表級約束和列級約束

約束的型別

1、空值與非空值

null,字段值可以為空

not null,字段值禁止為空

2、auto_increment

--自動編號,並且必須與主鍵組合使用

--預設情況下,其開始值為1,每次的增量為1

3、primary key

--主鍵約束

--每張資料表只能存在乙個主鍵

--逐漸保證記錄的唯一性

--主鍵自動為 not null

4、unique key

-- 唯一約束

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

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

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

5、default

--預設值

--當插入記錄時,如果沒有明確的為字段賦值,則自動賦予預設值

6、foreign key

--外來鍵約束

--保持資料的一致性,完整性

--實現一對一的或一對多的關係

♦外來鍵約束的要求

(1)父表和字表必須使用相同的儲存引擎,而且禁止使用臨時表

(2)資料標的儲存引擎必須是innodb

(3)外來鍵列和參照列必須具有相似的資料型別,其中數字的長度或是否有符號位必須相同;而字元的長度則可以不同

(4)外來鍵列和參照列必須建立索引,如果外來鍵列不存在索引的話,mysqlj將會自動建立索引

♦編輯資料表的預設儲存引擎

--mysql配置檔案

default-storage-engine innodb

♦外來鍵約束的參照操作

(1)cascade:從父表刪除或更新並且自動刪除或更新字表中的匹配的行

(2)set null :從父表刪除或更新行,並設定字表中的外來鍵列為null.如果使用該選項,必須保證字表沒有指定not null

(3)restrict :拒絕對父表的刪除或更新操作

(4)no action :標準sql的關鍵字,在mysql中雨restrict相同

♦表級約束和列級約束

-- 對乙個資料建立的約束,稱為列級約束

-- 對多個資料建立的約束,稱為表級約束

-- 列級約束既可以在列定義是宣告,也可以在列定義後宣告

-- 表級約束值能在列定義後宣告

mysql做筆記 mysql學習筆記

alter table 新增,修改,刪除表的列,約束等表的定義。檢視列 desc 表名 修改表名 alter table t book rename to bbb 新增列 alter table 表名 add column 列名 varchar 30 刪除列 alter table 表名 drop ...

mysql學習筆記 51 mysql學習筆記

初學mysql時整理,隨時更新 資料操作 增 insert into 表名 字段列表 values 值列表 值列表 如果要插入的值列表包含所有字段並且順序一致,則可以省略字段列表。可同時插入多條資料記錄!replace 與 insert 完全一樣,可互換。insert into 表名 set 欄位名...

mysql學習筆記 51 Mysql 學習筆記

一.首先進入mysql mysql u root p新增使用者許可權設定 grant all privileges on to jerry localhost identified by aa1234567 只允許本機訪問 grant all privileges on to jerry 10.80...