MySQL 如何将列从varchar(30)更改为varchar(100)
您需要使用 ALTER TABLE 命令以及 MODIFY。
其语法如下:
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)。
阅读更多:MySQL 教程