MySQL字符之char、varchar类型简析

1. char类型

char类型是定长的字符串类型。char类型里的每个字符占用1个字节,如果该char类型的长度不足定义时指定的长度,则会在后面自动补空格字符。比如定义了长度为5的char类型字段,如果插入的实际值为"abc",则插入到数据库中的值为"abc ",因为需要占满5个字符。

char类型主要适用于存储长度固定的数据,比如身份证号码、电话号码、邮政编码等,这些数据的长度是固定的,使用char类型不会浪费空间。

1.1 char类型的定义方法

char类型的定义方法和varchar类型相同,都是使用以下格式:

char(长度)

其中长度表示该字段可以存储的字符数。

1.2 char类型的使用场景

char类型适用于存储长度固定的数据,比如姓名、身份证号码、电话号码、邮政编码等。

下面是一个例子:

CREATE TABLE userinfo (

uid INT NOT NULL AUTO_INCREMENT,

name CHAR(20) NOT NULL,

idcard CHAR(18) NOT NULL,

phone CHAR(11) NOT NULL,

PRIMARY KEY (uid)

);

以上代码创建了一个userinfo表,其中name、idcard和phone都是使用char类型定义的,因为这些数据的长度都是固定的。

2. varchar类型

varchar类型是变长的字符串类型。varchar类型里的字符个数是不固定的,根据存储的数据长度而定。与char类型不同的是,varchar类型在存储数据时,会自动去掉末尾的空格字符,比如定义了长度为5的varchar类型字段,如果插入的实际值为"abc",则插入到数据库中的值为"abc",而不是"abc "。

2.1 varchar类型的定义方法

varchar类型的定义方法如下:

varchar(长度)

其中长度表示该字段可以存储的字符数。

2.2 varchar类型的使用场景

varchar类型适用于存储长度不固定的数据,比如地址、电子邮件、网址等数据。

下面是一个例子:

CREATE TABLE user (

userid INT NOT NULL AUTO_INCREMENT,

username VARCHAR(20) NOT NULL,

email VARCHAR(50) NOT NULL,

phone VARCHAR(20) NOT NULL,

PRIMARY KEY (userid)

);

以上代码创建了一个user表,其中username、email和phone都是使用varchar类型定义的,因为这些数据的长度都不是固定的。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签