在mysql中,可以使用“ALTER TABLE”語句配合“MODIFY”關鍵字來更改表中某字段的數據類型;語法格式“ALTER TABLE MODIFY ”。
(推薦教程:mysql視頻教程)
在 MySQL 中,ALTER TABLE?語句可以改變原有表的結構,例如增加或刪減列、更改原有列類型、重新命名列或表等。
其語法格式如下:
ALTER?TABLE??[修改選項]
修改選項的語法格式如下:
-
{ ADD COLUMN
-
| CHANGE COLUMN
-
| ALTER COLUMN { SET DEFAULT | DROP DEFAULT }
-
| MODIFY COLUMN
-
| DROP COLUMN
-
| RENAME TO
-
| CHARACTER SET
-
| COLLATE }
修改字段數據類型
修改字段的數據類型就是把字段的數據類型轉換成另一種數據類型。在 MySQL 中修改字段數據類型的語法規則如下:
ALTER?TABLE??MODIFY??
其中:
-
表名:指要修改數據類型的字段所在表的名稱;
-
字段名:指需要修改的字段;
-
數據類型:指修改后字段的新數據類型。
示例:
在 test 數據庫中新建 student 數據表,SQL 語句和運行結果如下:
mysql>?USE?test; Database?changed mysql>?CREATE?TABLE?student?( ????->?id?INT(4), ????->?name?VARCHAR(20), ????->?sex?CHAR(1)); Query?OK,?0?rows?affected?(0.09?sec)
使用 DESC 查看 student 表結構,SQL 語句和運行結果如下:
mysql>?DESC?student; +-------+-------------+------+-----+---------+-------+ |?Field?|?Type????????|?Null?|?Key?|?Default?|?Extra?| +-------+-------------+------+-----+---------+-------+ |?id????|?int(4)??????|?YES??|?????|?NULL????|???????| |?name??|?varchar(20)?|?YES??|?????|?NULL????|???????| |?sex???|?char(1)?????|?YES??|?????|?NULL????|???????| +-------+-------------+------+-----+---------+-------+ 3?rows?in?set?(0.01?sec)
使用 ALTER TABLE 修改表 student 的結構,將 name 字段的數據類型由 VARCHAR(20) 修改成 VARCHAR(30),SQL 語句和運行結果如下所示。
mysql>?ALTER?TABLE?student ????->?MODIFY?name?VARCHAR(30); Query?OK,?0?rows?affected?(0.15?sec) Records:?0??Duplicates:?0??Warnings:?0 mysql>?DESC?student; +--------+-------------+------+-----+---------+-------+ |?Field??|?Type????????|?Null?|?Key?|?Default?|?Extra?| +--------+-------------+------+-----+---------+-------+ |?id?????|?int(11)?????|?YES??|?????|?NULL????|???????| |?name???|?varchar(30)?|?YES??|?????|?NULL????|???????| |?sex????|?char(1)?????|?YES??|?????|?NULL????|???????| +--------+-------------+------+-----+---------+-------+ 6?rows?in?set?(0.00?sec)
語句執行后,發現表 student 中 name 字段的數據類型已經修改成 VARCHAR(30),修改成功。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦