MySQL中表的操作

2022-05-07 02:18:11 字數 2640 閱讀 4322

在mysql中,表是一種資料庫物件,表由若干個字段(列)組成,表的操作包括增刪查改。

乙個表中的書庫物件包括:列(column)、索引(index)及觸發器:

列也稱屬性列,在建立表時,必須指定列的名字和型別,同時也可以指定約束;

索引是根據指定的資料庫表列建立起來的順序;

觸發器是指使用者定義的事務命令的集合,當對表中的資料進行插入、更新和刪除時,這組命令就會自動執行,以確保資料的安全性和完整性。

以下在對錶的操作中都是伴隨著字段和資料型別一起的,約束可以不要,但是欄位名和資料型別缺一不可。

1、建立表

1

create

table

表名(2

欄位名 資料型別 約束,

3欄位名 資料型別 約束,

4 ... ... ...);

【注】建立的表名不可與存在的表名字重複;

在建立完表之後,可以檢視建立的表結構的詳細定義,可以使用:

show create

table 表名;

也可以使用以下語句檢視表的定義:

desc 表名;

【注】desc與describe相同。

2、刪除表

drop

table 表名;

3、修改表(alter table 表名  ...)

有時我們在建立表時考慮的問題不是很全面,可能後續需要修改,存在以下情況:

(1)只修改表名:

alter

table 舊表名 rename 新錶名;

(2)增加列(字段)

alter

table 表名 add 字段 資料型別 約束;

【注】預設新增在表的最後一列;

也可以一次新增多個表名:

alter

table 表名 add

(字段 資料型別 約束,

字段 資料型別 約束,

字段 資料型別 約束)

在表的第乙個位置增加字段:

alter

table 表名 add 字段 資料型別 約束 first;

在表的指定欄位後增加字段:

alter

table 表名 add 欄位名 資料型別 約束 after 屬性名;

刪除某個字段:

alter

table 表名 drop 欄位名;

修改欄位的資料型別:

alter

table 表名 modify 欄位名 資料型別;

【注】資料型別為要修改成的資料型別;

修改欄位的名字:

alter

table 表名 change 舊屬性名 新屬性名 舊資料型別;

給已建立表的字段新增單一約束:

alter

table 表名 add 約束名 (欄位名);

如:

alter

table test add

primary

key(id);

在建立表時,可以設定字段約束,常見的約束型別有:

not null(設定非空約束)

default(設定欄位的預設值)

unique key(uk)(約束欄位的值是唯一的)

primary key(pk)  (設定主鍵約束) 

【注】:表的主鍵可以不唯一

auto_increment(約束欄位的值自動增加)

foreign key(約束欄位為表的外來鍵)

在建立表時可以新增約束,一般為:

create

table

表名(  欄位名 資料型別 約束型別,

欄位名 資料型別 約束型別

... .... ....);

可以給字段設定的約束設定乙個名字,在建立表時,在最後新增:

constraint uk_bname unique(欄位名)

最後再以);結尾,uk_dname是為約束建立的名字。

在為字段建立主鍵時,主鍵可以有多個,此時需要通過以下語句來實現:

constraint 約束名 primary

key(欄位名1, 欄位名2)

最後再以);結尾。

在建立表時也可以建立外來鍵約束,只需要在最後一行新增:

constraint 約束名 foreign

key(欄位名1) references 表名(欄位名2)

最後再以);結尾,在設定外來鍵時,兩個欄位的資料型別必須一致。

給已建立表新增外來鍵約束:

alter

table 表名 add

constraint fk_name foreign

key (欄位名) references 表名(欄位名);

MySQL中表的操作

語法 create table table name field1 datatype,field2 datatype,field3 datatype character set 字符集 collate 校驗規則 engine 儲存引擎 說明 create table class major varc...

MySQL中表的基本操作

1.建立表 語法 create table table name field1 datatype,field2 datatype,field3 datatype character set 字符集 collate 校驗規則 engine 儲存引擎 說明 2.建立表案例 create table us...

MySql中表的相關操作

create table student id int unsigned primary keyauto increment name varchar 20 age smallint unsigned enum male female default male 上面建立了乙個student表,有id...