如何将 MySQL 中的列从 varchar(30) 更改为 varchar(100)?


你需要配合 MODIFY 使用 ALTER TABLE 命令

语法如下

ALTER TABLE yourTableName MODIFY COLUMN yourColumnName varchar(100) NOT NULL;

为了理解上述语法,我们创建一个表格。创建表格的查询如下

mysql> create table syntaxOfAlterCommandDemo
   -> (
   -> UserId int,
   -> UserName varchar(30),
   -> UserAge int,
   -> UserCityName varchar(50)
   -> );
Query OK, 0 rows affected (0.51 sec)

让我们查看一下表格的描述。

查询如下

mysql> desc syntaxOfAlterCommandDemo;

以下是输出

+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| UserId       | int(11)     | YES  |     | NULL    |       |
| UserName     | varchar(30) | YES  |     | NULL    |       |
| UserAge      | int(11)     | YES  |     | NULL    |       |
| UserCityName | varchar(50) | YES  |     | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
4 rows in set (0.04 sec)

现在让我们将 UserName 列从 varchar(30) 更改为 varchar(100)。请记住,目前我们将 UserName 列设置为 varchar(30)。更改列的查询如下

mysql> alter table syntaxOfAlterCommandDemo modify column UserName varchar(100) NOT NULL;
Query OK, 0 rows affected (1.36 sec)
Records: 0 Duplicates: 0 Warnings: 0

让我们再次查看一下表格描述。

查询如下

mysql> desc syntaxOfAlterCommandDemo;

以下是输出

+--------------+--------------+------+-----+---------+-------+
| Field        | Type         | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| UserId       | int(11)      | YES  |     | NULL    |       |
| UserName     | varchar(100) | NO   |     | NULL    |       |
| UserAge      | int(11)      | YES  |     | NULL    |       |
| UserCityName | varchar(50)  | YES  |     | NULL    |       |
+--------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

查看上面的示例输出,UserName 列现在为 varchar(100)。

更新日期:30-7-2019

533 次浏览

开启您的 职业生涯

完成课程获得认证

开始
广告