Mysql值之約束以及修改資料表

2021-08-26 03:09:20 字數 2193 閱讀 8972

unsigned:這裡約束的意思是沒符號,不能為負數,只能是整數
####外來鍵約束的參照操作

由上圖中的指令,on delete是在執行刪除指令,當我們重新建立一張表關聯父表,然後為他們新增資料,但是當我們刪除父表中的資料後,子表中的資料也會隨著父表的刪除而刪除,這裡只是展示了刪除,同時更新也是一樣的

#####表級約束與列級約束

列級約束:就是對乙個資料列建立的約束

表級約束:就是對多個資料列建立的約束

列級約束既可以在列定義的時候宣告,也可以在列定義後宣告;表級約束只能在列定義後宣告

####修改資料表:新增/刪除列

提示:以下**中[ ]中的內容表示可以寫也可以不寫

alter table **名稱 add [column] 列名稱column_definition [first|after 列名稱]

由上圖可以看出我們在**中可以新增列和並且可以確定新新增的列位置

alter table **名稱 add [column] (列名稱 column_definition,...)
alter table **名稱 drop[column] 列名稱

由上圖可以得出,可以刪除乙個或者提示刪除倆個

alter table **名稱 add [constraint[symbol]] primary key [index_type](表字段的名字)
alter table **名稱 add [constraint[symbol]] unique [index_type](表字段的名字)

alter table **名稱 add foreign key(表字段) references 父表名稱 (表字段);

alter table **名稱 alter [columns] 表字段
alter table **名稱 drop primary key
alter table **名稱 drop unique (約束名稱)
alter table **名稱 drop foreign key 約束名稱

alter table **名稱 modify[ column] 表字段 表字段的型別 列的位置

如上圖所示,我們不僅修改了id的位置,還更改了id的型別,**注意:**當我們修改欄位的型別時,當從大型別往小型別轉換的時候,有可能會造成資料丟失

alter table **名稱 change [column] 舊名稱 新名稱 列的型別[列的位置]

又上圖我們修改了username的名字還更換了位置

alter table **名稱 rename [to|as] 新名稱
方法2:

rename table **名稱 to 新名稱
但是我們不建議隨意修改表名稱和列名稱,有可能會造成某些操作無法進行

MySQL之約束 修改資料表

一 約束 約束保證資料的完整性和一致性 約束分為表級約束和列級約束。約束型別包括 not null 非空約束 primary key 主鍵約束 unique key 唯一約束 default 預設約束 forgign key 外來鍵約束 列級約束 對乙個資料列建立的約束,既可以在列定義時宣告,亦可以...

約束以及修改資料表

約束 1,約束保證資料的完整行和一致性。2,約束分為表級約束和列級約束。3,約束型別包括 primary key 主鍵約束 unique key 唯一約束 default 預設約束 foreign key 外來鍵約束 外來鍵約束的要求 1,父表和子表必須使用相同的儲存引擎,而且禁止使用臨時表。2,資...

mysql資料庫之約束

約束是一種限制,它通過對錶的行或列的資料做出限制,來確保標的資料完整性 唯一性。1 非空約束 not null 欄位的值不能為空 1.1 建立表時新增非空約束 1.2 修改表時新增非空約束 1.3 刪除非空約束 2 唯一約束 unique 要求該列唯一,允許為空,唯一約束可以確保一列或者幾列不出現重...