mysql的alter語句中modify,rename,change詳解

原文鏈接:https://blog.csdn.net/qq_42006733/article/details/92772745

直接先拋出結論:

rename和change都是用於修改名稱的

rename修改的是表名稱,而change修改的是表中的字段名稱。

文章最後還有一些騷操作,Just for fun。

modify用於修改表中字段的數據長度,數據類型以及字段的約束條件的。

首先最簡單的是rename,用於修改表名,語法如下

 

alter table table_name rename [to] new table_name ;


這個語法沒有什麼可說的,to可要可不要,根據個人習慣,我一般是習慣性的加上to,就像使用別名時加上as一樣。

然後就是change,用於修改字段名

alter table table_name change old_name new_name datatype...; --新字段需要完整定義


這裏要注意的是你重新命名的新字段需要進行完整定義,並不是改字段名就可以。

最後就是modify,modify用於修改表中字段的數據長度,數據類型以及字段的約束條件的。

alter table table_name modify field datatype...;


這三者都同屬於alter語句裏面的內容,大概用法區別就是如此,語法也比較簡單

 

接下來就是一些騷操作了

其實change也可以像modify一樣修改表中字段的數據長度,數據類型以及字段的約束條件,只要你對字段進行完整的定義。

任意一表 有如下表結構,咱們就用change也來完成modify的工作,

我們執行如下語句,不進行改名的情況下(當然如果想,也可以改名),把原本varchar(10)類型,變爲char(20),把非空約束拿掉。

看看這個語句能不能執行的通

這樣看來,如果有需求是需要修改字段名,同時修改數據長度,數據類型以及字段的約束條件,就可以用這樣的方法

 

不過 總的來說 還是以文章開頭的用法來使用,修改列名就用change,修改數據類型以及字段的約束條件還是用modify。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章