mysql表中怎么修改字段?


本文摘自PHP中文网,作者青灯夜游,侵删。

在mysql表中,可以使用“ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型;”语句来修改字段名称;使用“ALTER TABLE 表名 MODIFY 字段名 新数据类型;”语句来修改字段数据类型。

(推荐教程:mysql视频教程)

修改字段名称

MySQL 中修改表字段名的语法规则如下:

1

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型;

其中:

  • 旧字段名:指修改前的字段名;

  • 新字段名:指修改后的字段名;

  • 数据类型:指修改后的数据类型,如果不需要修改字段的数据类型,可以将数据类型设置成与原来一样,但数据类型不能为空。

例 1

使用 ALTER TABLE 修改表 tb_emp1 的结构,将 col1 字段名称改为 col3,同时将数据类型变为 CHAR(30),SQL 语句和运行结果如下所示。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

mysql> ALTER TABLE tb_emp1

    -> CHANGE col1 col3 CHAR(30);

Query OK, 0 rows affected (0.76 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC tb_emp1;

+--------+-------------+------+-----+---------+-------+

| Field  | Type        | Null | Key | Default | Extra |

+--------+-------------+------+-----+---------+-------+

| col3   | char(30)    | YES  |     | NULL    |       |

| id     | int(11)     | YES  |     | NULL    |       |

| name   | varchar(30) | YES  |     | NULL    |       |

| deptId | int(11)     | YES  |     | NULL    |       |

| salary | float        | YES  |     | NULL    |       |

+--------+-------------+------+-----+---------+-------+

5 rows in set (0.01 sec)

CHANGE 也可以只修改数据类型,实现和 MODIFY 同样的效果,方法是将 SQL 语句中的“新字段名”和“旧字段名”设置为相同的名称,只改变“数据类型”。

提示:由于不同类型的数据在机器中的存储方式及长度并不相同,修改数据类型可能会影响数据表中已有的数据记录,因此,当数据表中已经有数据时,不要轻易修改数据类型。

修改字段数据类型

修改字段的数据类型就是把字段的数据类型转换成另一种数据类型。在 MySQL 中修改字段数据类型的语法规则如下:

1

ALTER TABLE 表名 MODIFY 字段名 新数据类型;

其中:

  • 表名:指要修改数据类型的字段所在表的名称;

  • 字段名:指需要修改的字段;

  • 新数据类型:指修改后字段的新数据类型。

例 2

使用 ALTER TABLE 修改表 tb_emp1 的结构,将 name 字段的数据类型由 VARCHAR(22) 修改成 VARCHAR(30),SQL 语句和运行结果如下所示。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

mysql> ALTER TABLE tb_emp1

    -> MODIFY name VARCHAR(30);

Query OK, 0 rows affected (0.15 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC tb_emp1;

+--------+-------------+------+-----+---------+-------+

| Field  | Type        | Null | Key | Default | Extra |

+--------+-------------+------+-----+---------+-------+

| col1   | int(11)     | YES  |     | NULL    |       |

| id     | int(11)     | YES  |     | NULL    |       |

| name   | varchar(30) | YES  |     | NULL    |       |

| col2   | int(11)     | YES  |     | NULL    |       |

| deptId | int(11)     | YES  |     | NULL    |       |

| salary | float        | YES  |     | NULL    |       |

+--------+-------------+------+-----+---------+-------+

6 rows in set (0.00 sec)

语句执行后,发现表 tb_emp1 中 name 字段的数据类型已经修改成 VARCHAR(30),修改成功。

以上就是mysql表中怎么修改字段?的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

详解mysql的锁机制

浅谈mysql中的group by

navicat连接mysql出现1045错误的解决方法是什么

mysql如何删除表中一行数据?

mysql中的数据类型和schema优化

mysql如何除去一段字符串

如何利用phpmyadmin设置mysql的权限

mysql 清除表空间碎片的实例详解

浅谈mysql之浅入深出页原理

linux下卸载mysql数据库实例教程

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...