在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),修改成功。
原文地址:https://www.jb51.cc/mysql/1209065.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。