如果要在MySQL中扩展varchar字段的大小,则不会影响其中的数据。
让我们首先创建一个表-
mysql> create table DemoTable( Name varchar(8) );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable values('John'); mysql> insert into DemoTable values('Robert'); mysql> insert into DemoTable values('Mike'); mysql> insert into DemoTable values('Sam');
使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
这将产生以下输出-
+--------+ | Name | +--------+ | John | | Robert | | Mike | | Sam | +--------+ 4 rows in set (0.00 sec)
让我们检查表的描述-
mysql> desc DemoTable;
这将产生以下输出-
+-------+------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+------------+------+-----+---------+-------+ | Name | varchar(8) | YES | | NULL | | +-------+------------+------+-----+---------+-------+ 1 row in set (0.04 sec)
现在让我们将VARCHAR大小从VARCHAR(8)扩展到VARCHAR(100)-
mysql> alter table DemoTable change Name Name varchar(100); Records: 4 Duplicates: 0 Warnings: 0
让我们再次检查表的描述-
mysql> desc DemoTable;
这将产生以下输出-
+-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | Name | varchar(100) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 1 row in set (0.01 sec)
扩展varchar的大小后,其中的数据不会受到影响,但是如果减小varchar的大小,则可能导致问题。