欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql怎么更改表中某字段的数据类型?

程序员文章站 2022-03-22 19:49:15
...

在mysql中,可以使用“ALTER TABLE”语句配合“MODIFY”关键字来更改表中某字段的数据类型;语法格式“ALTER TABLE <表名> MODIFY <字段名> <新数据类型>”。

mysql怎么更改表中某字段的数据类型?

(推荐教程: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),修改成功。

以上就是mysql怎么更改表中某字段的数据类型?的详细内容,更多请关注其它相关文章!