MySQL中,如何使用SQL语句来修改表中某一个字段的数据类型呢?我们同样使用alter table 这一SQL语句来解决这个问题。
修改字段类型的语法为:alter table <表名> change <字段名> <字段名> <字段的新类型>。
现在我们来尝试把test表中的t_name字段的数据类型由varchar(20)改为varchar(50),并且设置它不能为空值。
1、首先查看一下当前test表的结构
mysql> describe test;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| t_id | int(11) | YES | | NULL | |
| t_name | varchar(20) | YES | | NULL | |
| t_password | char(32) | YES | | NULL | |
| t_birth | date | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
2、使用alter table语句来修改字段类型,这里注意,因为我们不修改字段的名称,所以SQL语句中会出现两个t_name,这并不是写错了。后面“t_name varchar(50) not null”这一段跟一个普通创建字段的语法是一样一样的。
mysql> alter table test change t_name t_name varchar(50) not null;
Query OK, 3 rows affected (0.23 sec)
Records: 3 Duplicates: 0 Warnings: 0
3、查看修改过后的结果
mysql> describe test;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| t_id | int(11) | YES | | NULL | |
| t_name | varchar(50) | NO | | NULL | |
| t_password | char(32) | YES | | NULL | |
| t_birth | date | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
4 rows in set (0.02 sec)
从结果可以看出来,Type已经变成varchar(50) ,而且Null下面也变成NO了。字段的数据类型已经被完美的修改过来了。
关于MySQL中使用SQL语句修改字段类型,本文就介绍这么多,希望对大家有所帮助,谢谢!
要饭二维码
洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!
文章的版权
本文属于“洪哥笔记”原创文章,转载请注明来源地址:MySQL中使用SQL语句修改字段类型:http://www.splaybow.com/post/mysql-table-change-cloumn-datatype.html
如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D!
发布时间:2013/10/6 16:19:31 | 编辑:小小菜鸟 | 分类:MySQL | 浏览: