數據分析sql入門篇-sql表的操作(上篇):創建表 查看表結構 表信息」主要對數據庫中「表的操作」中的創建表、查看表結構、查看表的詳細建表信息等一系列的基本操作進行了一些基本介紹,文章中也給出了一些簡單的案例。本篇文章主要對mysql中「表的操作」中的修改表系列做一個全面的介紹,通過學習,可以對mysql中修改表名、修改字段名、修改字段的數據類型、增加字段、刪除字段、修改字段備注、修改字段的順序進行一個全面的了解。
修改表:
語法:
ALTER TABLE <表名> [修改選項]
說明:
1)[修改選項]為需要修改的表的內容,可以為“表名”、“字段名稱”、“字段類型”等。
下面分別介紹一些常用的修改表的操作,具體如下:
修改表名、修改字段名、修改字段的數據類型、增加字段、刪除字段、修改字段備注、修改字段的順序。
(1)修改表名:
語法:
ALTER TABLE <舊表名> RENAME [TO] <新表名>;
說明:
1)[]中的內容是可選填的,可以不寫to。
案例:將已存在的class表名修改為tb_class。
具體操作如下:
先查看已有的表class,使用如下sql語句:
show tables;
結果如下:


修改表名前
再將已存在的class表名修改為tb_class,sql語句如下:
alter table class rename to tb_class;
再次查看表,運行結果如下:


修改表名后
(2)修改字段名:
語法:
ALTER TABLE <表名> CHANGE <舊字段名> <新字段名> <新數據類型>;
說明:
1)修改表中字段名稱用的是change,不是modify,請注意;
2) <新數據類型>不能為空,如果不需要修改字段的數據類型,可以設置跟原數據類型一樣。
案例:將表tb_class中的字段名稱id改為stu_id,同時將數據類型由int改為varcha(25)。
具體操作如下:
先查看修改前tb_class表的結構:
代碼如下:
desc tb_class;


修改字段id前的表結構
再執行如下代碼,將表tb_class中的字段名稱id改為stu_id,同時將數據類型由int改為varcha(25):
alter table tb_class change id stu_id varchar(25);
再查看修改字段名稱后tb_class表的結構:
desc tb_class;


修改字段id后的表結構
(3)修改字段的數據類型:
語法:
ALTER TABLE <表名> MODIFY <字段名> <數據類型>;
說明:
1)<字段名> 指需要修改數據類型的字段;
2)<數據類型>指修改后的新數據類型;
3)修改字段的數據類型用的是modify,修改字段名用的是change,不要弄混淆了。
案例:將表tb_class中的字段名stu_id的數據類型由varchar(25)改為int。
具體操作如下:
執行如下代碼,可以將stu_id的數據類型由varchar(25)改為int:
alter table tb_class modify stu_id int;


修改數據類型前


修改數據類型后
(4)增加字段:
在實際工作中,隨著業務的變化,有時候需要在已經建好的表中增加新的字段,mysql支持在已建好的表中的特定位置新增加字段操作的。
語法:
ALTER TABLE <表名> ADD <新字段名> <數據類型> [約束條件] [FIRST|AFTER 已存在的字段名];
說明:
1)[FIRST|AFTER 已存在的字段名]用于指定新增加的字段在表中的位置,FIRST將新增加的字段放在表的第一列,AFTER將新增加的字段放在指定的已存在的字段后面;
2)[FIRST|AFTER 已存在的字段名]為可選項,如果不指定位置,默認將新添加的字段放在表的最后一列;
3) [約束條件] 為可選項,可不填。
案例:在表tb_class中的name字段后新增一個數據類型為char(25)的字段sex。
具體操作如下:
先查看表tb_class的結構:
desc tb_class;


原表結構
執行如下代碼,可以在表tb_class中的name字段后新增一個數據類型為char(25)的字段sex:
alter table tb_class add sex char(25) after name;
結果如下:


增加字段后表結構
已經成功的在表tb_class新增加一個數據類型為char(25)的字段sex,并放置在特定的字段name后。
(5)刪除字段:
語法:
ALTER TABLE <表名> DROP <字段名>;
案例:刪除表tb_class中的字段sex。
具體操作如下:
alter table?tb_class drop sex;


刪除字段前


刪除字段后
(6)修改字段備注:
語法:
1)修改表的注釋:
alter table <表名> comment '修改后的表的注釋';
2)修改表中字段的注釋
alter table <表名> modify column <字段名> <字段類型> comment '修改后的字段注釋';
案例1:修改表tb_class的注釋為’學生班級表’。
具體操作如下:
先查看表tb_class的的詳細建表信息:
show create table tb_studentG


表tb_class原注釋
通過查詢結果可知,表tb_class原注釋為’班級表’。
執行如下代碼,修改表tb_class的注釋為’學生班級表’:
alter table tb_class comment '學生班級表';
結果如下:


修改后表tb_class注釋
案例2:修改表tb_class的字段class的注釋為’班級’。
具體操作如下:
先查看表tb_class的的詳細建表信息:
show create table tb_studentG


表中原注釋查詢結果
通過查看表的詳細建表信息可知,原來表中字段class沒有注釋。
執行如下代碼,為表tb_class中字段class添加注釋為’班級’:
alter table tb_class modify column class varchar(255) comment '班級';
結果如下:


修改字段class注釋后的查詢結果
(7)修改字段順序:
語法:
可以用以下兩種方法都可以實現更改字段順序。
1)ALTER TABLE <表名>? MODIFY <字段1> <數據類型> FIRST;
2)ALTER TABLE <表名>? MODIFY <字段1> <數據類型> AFTER <字段2>;
說明:
1)將字段名為<字段1>,數據類型為<數據類型>的字段放在表的開頭;
2)將字段名為<字段1>,數據類型為<數據類型>的字段放置于字段<字段2>后面。
案例1:將表tb_class中的字段name放在表的開頭。
具體操作如下:
執行如下代碼,可以將字段name放在表的開頭:
alter table tb_class modify name varchar(255) first;


修改字段順序前


修改字段順序后
案例2:將表tb_class中的字段name放在字段stu_id之后。
具體操作如下:
執行如下代碼,可以將字段name放在字段stu_id之后:
alter table tb_class modify name varchar(255) after stu_id;


修改字段順序前


修改字段順序后
在上一篇文章「數據分析sql入門篇-sql表的操作(上篇):創建表 查看表結構 表信息」的基礎上,本篇文章進一步對「表的操作」中的「修改表」系列進行了詳細的語法介紹和解析,為了方便理解,也給出了一系列案例,這些命令作為了解數據庫的入門基礎都是必不可少的,如果正在學習數據庫,可以收藏起來以備不時之需,歡迎小伙伴們留言,一起討論,共同進步。
下篇文章將會對「表的操作」中的清空表、刪除表等一些基本的數據庫操作做進一步的介紹,敬請期待呀。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。