詳解mysql修改表知識點「mysql修改表結構對表中記錄的影響」

數據分析sql入門篇-sql表的操作(上篇):創建表 查看錶結構 表信息」主要對數據庫中「表的操作」中的創建表、查看錶結構、查看錶的詳細建表信息等一系列的基本操作進行了一些基本介紹,文章中也給出了一些簡單的案例。本篇文章主要對mysql中「表的操作」中的修改表系列做一個全面的介紹,通過學習,可以對mysql中修改表名、修改字段名、修改字段的數據類型、增加字段、刪除字段、修改字段備註、修改字段的順序進行一個全面的了解。

修改表:

語法:

ALTER TABLE <表名> [修改選項]

說明:

1)[修改選項]為需要修改的表的內容,可以為「表名」、「字段名稱」、「字段類型」等。

下面分別介紹一些常用的修改表的操作,具體如下:

修改表名、修改字段名、修改字段的數據類型、增加字段、刪除字段、修改字段備註、修改字段的順序。

(1)修改表名:

語法:

ALTER TABLE <舊錶名> RENAME [TO] <新表名>;

說明:

1)[]中的內容是可選填的,可以不寫to。

案例:將已存在的class表名修改為tb_class。

具體操作如下:

先查看已有的表class,使用如下sql語句:

show tables;

結果如下:

數據分析sql入門篇-sql表的操作(下篇1):修改表系列

修改表名前

再將已存在的class表名修改為tb_class,sql語句如下:

alter table class rename to tb_class;

再次查看錶,運行結果如下:

數據分析sql入門篇-sql表的操作(下篇1):修改表系列

修改表名後

(2)修改字段名:

語法:

ALTER TABLE <表名> CHANGE <舊字段名> <新字段名> <新數據類型>;

說明:

1)修改表中字段名稱用的是change,不是modify,請注意;

2) <新數據類型>不能為空,如果不需要修改字段的數據類型,可以設置跟原數據類型一樣。

案例:將表tb_class中的字段名稱id改為stu_id,同時將數據類型由int改為varcha(25)。

具體操作如下:

先查看修改前tb_class表的結構:

代碼如下:

desc tb_class;
數據分析sql入門篇-sql表的操作(下篇1):修改表系列

修改字段id前的表結構

再執行如下代碼,將表tb_class中的字段名稱id改為stu_id,同時將數據類型由int改為varcha(25):

alter table tb_class change id stu_id varchar(25);

再查看修改字段名稱後tb_class表的結構:

desc tb_class;
數據分析sql入門篇-sql表的操作(下篇1):修改表系列

修改字段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;
數據分析sql入門篇-sql表的操作(下篇1):修改表系列

修改數據類型前

數據分析sql入門篇-sql表的操作(下篇1):修改表系列

修改數據類型後

(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;
數據分析sql入門篇-sql表的操作(下篇1):修改表系列

原表結構

執行如下代碼,可以在表tb_class中的name字段後新增一個數據類型為char(25)的字段sex:

alter table tb_class add sex char(25) after name;

結果如下:

數據分析sql入門篇-sql表的操作(下篇1):修改表系列

增加字段後表結構

已經成功的在表tb_class新增加一個數據類型為char(25)的字段sex,並放置在特定的字段name後。

(5)刪除字段:

語法:

ALTER TABLE <表名> DROP <字段名>;

案例:刪除表tb_class中的字段sex。

具體操作如下:

alter table tb_class drop sex;
數據分析sql入門篇-sql表的操作(下篇1):修改表系列

刪除字段前

數據分析sql入門篇-sql表的操作(下篇1):修改表系列

刪除字段後

(6)修改字段備註:

語法:

1)修改表的注釋:

alter table <表名> comment '修改後的表的注釋';

2)修改表中字段的注釋

alter table <表名> modify column <字段名> <字段類型> comment '修改後的字段注釋';

案例1:修改表tb_class的注釋為’學生班級表’。

具體操作如下:

先查看錶tb_class的的詳細建表信息:

show create table tb_studentG
數據分析sql入門篇-sql表的操作(下篇1):修改表系列

表tb_class原注釋

通過查詢結果可知,表tb_class原注釋為’班級表’。

執行如下代碼,修改表tb_class的注釋為’學生班級表’:

alter table tb_class comment '學生班級表';

結果如下:

數據分析sql入門篇-sql表的操作(下篇1):修改表系列

修改後表tb_class注釋

案例2:修改表tb_class的字段class的注釋為’班級’。

具體操作如下:

先查看錶tb_class的的詳細建表信息:

show create table tb_studentG
數據分析sql入門篇-sql表的操作(下篇1):修改表系列

表中原注釋查詢結果

通過查看錶的詳細建表信息可知,原來表中字段class沒有注釋。

執行如下代碼,為表tb_class中字段class添加註釋為’班級’:

alter table tb_class modify column class varchar(255) comment '班級';

結果如下:

數據分析sql入門篇-sql表的操作(下篇1):修改表系列

修改字段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;
數據分析sql入門篇-sql表的操作(下篇1):修改表系列

修改字段順序前

數據分析sql入門篇-sql表的操作(下篇1):修改表系列

修改字段順序後

案例2:將表tb_class中的字段name放在字段stu_id之後。

具體操作如下:

執行如下代碼,可以將字段name放在字段stu_id之後:

alter table tb_class modify name varchar(255) after stu_id;
數據分析sql入門篇-sql表的操作(下篇1):修改表系列

修改字段順序前

數據分析sql入門篇-sql表的操作(下篇1):修改表系列

修改字段順序後

在上一篇文章「數據分析sql入門篇-sql表的操作(上篇):創建表 查看錶結構 表信息」的基礎上,本篇文章進一步對「表的操作」中的「修改表」系列進行了詳細的語法介紹和解析,為了方便理解,也給出了一系列案例,這些命令作為了解數據庫的入門基礎都是必不可少的,如果正在學習數據庫,可以收藏起來以備不時之需,歡迎小夥伴們留言,一起討論,共同進步。

下篇文章將會對「表的操作」中的清空表、刪除表等一些基本的數據庫操作做進一步的介紹,敬請期待呀。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/284440.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-22 15:07
下一篇 2024-12-22 15:07

相關推薦

發表回復

登錄後才能評論