在 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.