CHAR 與 VARCHAR 的區別
- 在 MySQL 中存儲字符串的數據,可以使用 CHAR 與 VARCHAR 類型。
1. 區別
- CHAR:固定長度的字符串。
- VARCHAR:可變長的字符串。
2. 優缺點比較
- CHAR 固長:不管是否使用完空間,都會佔用指定的空間。浪費了內存空間,但是效率高。
- VARCHAR 可變長:實際存儲了幾個字符,就是用幾個字符的空間。會留一個字節記錄用了多少個字符。雖然節省了內存空間,但是效率低。
- 兩者的比較就是開發中常見的如何權衡空間和時間的問題。
3. 使用場景
- 當前數據如果是固長則使用 CHAR, 如果是可變長則使用 VARCHAR。
- 固長的情況:身份證號(18 位),手機號(11位),性別等。
- 可變長的情況:姓名等。
4. 代碼示例
CREATE DATABASE regino;
CREATE TABLE person(
id INT,
name1 CHAR(5),
name2 VARCHAR(5)
);
INSERT INTO person VALUES(1,'小明','花花');
5. SQLyog 演示
原文鏈接:https://qwert.blog.csdn.net/article/details/105830164