MySQL CHAR 与 VARCHAR 的区别
程序员文章站
2024-03-21 17:36:58
...
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,'小明','花花');