mysql命令約束 mysql命令 四 約束

2021-10-17 13:03:12 字數 1209 閱讀 9623

約束:

約束是為了保證資料的完整性

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

約束型別包括:

not null 非空約束

primary key 主鍵約束

unique key 唯一約束

default 預設約束

foreign key 外來鍵約束

外來鍵約束:

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

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

要求:父表(被參照)和子表(具有外來鍵列)必須使用相同的儲存引擎,而且禁止使用臨時表

資料表的儲存引擎只能使用innodb

外來鍵列和參照列必須具有相似的資料型別,數字的長度或是否有符號位必須相同,字串的長度則可以不同

外來鍵列和參照列必須建立索引,參照列沒有索引,mysql則會自動建立,而外鍵列沒有的話,不會自動建立

在建立表的時候會自動為主鍵建立索引 create table provinces(

id smallint unsigned primary key auto_increment,

pname varchar(20) not null

create table users(

id smallint unsigned primary key auto_increment,

username varchar(10) not null,

pid smallint unsigned,

foreign key (pid) references provinces(id)

檢視索引:

show indexs from table_name;

show indexs from table_name\g;

外來鍵約束的參照操作:

cascade:從父表刪除或者更新自動刪除或者更新字表中的行

set null:從父表刪除或者更新行,自動設定字表中的外來鍵列為null,

如果使用該選項,必須保證字表的參照列不為not null

restrict:拒絕對父表的刪除或者更新操作

no action:標準sql的關鍵字,在mysql中與restrict相同

表級約束和列級約束 對乙個資料列建立的約束,稱為列級約束 對多個資料列建立的約束,稱為表級約束 列級約束既可以在列定義時宣告,也可以在列定以後宣告 表級約束只能在列定義之後宣告 主鍵約束,外來鍵約束,唯一約束可以為列級約束或表級約束,而not null和default一般為列級約束

mysql怎麼約束 mysql 約束

4 約束 1 對乙個列新增的約束叫列級約束。對兩個或兩個以上的列新增的約束叫做表級約束。2 表級約束只能在字段後面新增,列級約束既可以新增在字段後面,也可以在最後新增。3 非空 預設只存在列級約束。主鍵 唯 一 外來鍵都既有表級約束又有列級約束。4 約束有 primary key 主鍵 unique...

mysql約束 MySQL 約束型別

約束是一種限制,它通過對錶的行或列的資料做出限制,來確保表的資料的完整性 唯一性。mysql中,常用的幾種約束 約束型別 主鍵外來鍵唯一非空自增預設值 關鍵字 primary key foreign key unique not null auto increment default 1 主鍵約束 ...

mysql鎖命令 MySQL鎖定狀態檢視命令

1 show processlist show processlist顯示哪些執行緒正在執行。您也可以使用mysqladmin processlist語句得到此資訊。如果您有super許可權,您可以看到所有執行緒。否則,您只能看到您自己的執行緒 也就是,與您正在使用的mysql賬戶相關的執行緒 如果...