在 MySQL 中扩展 varchar 字段的大小会影响其中的数据吗?


如果您要扩展 MySQL 中 varchar 字段的大小,则它不会影响其中的数据。

让我们首先创建一个表 -

mysql> create table DemoTable(
   Name varchar(8)
);
Query OK, 0 rows affected (1.11 sec)

使用 insert 命令在表中插入一些记录 -

mysql> insert into DemoTable values('John');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('Robert');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('Mike');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('Sam');
Query OK, 1 row affected (0.13 sec)

使用 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);
Query OK, 4 rows affected (1.96 sec)
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 的大小后,其中的数据不会受到影响,但如果减小大小,则可能导致问题。

更新于: 2019年9月27日

398 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.