MySQL有哪些数据库类型?不要错过喽!!_字节_类型_长度

易道云出品

今天小编就和大家聊聊MySQL有哪些数据库类型?不要错过喽!!

MySQL的数据类型有数值类型、字符串类型、日期和时间类型。

1、数值类型

包括TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,分别表示1字节、2字节、3字节、4字节、8字节的整数类型

1)任何整数类型都可以加上UNSIGNED属性,表示无符号整数。

2)任何整数类型都可以指定长度,但它不会限制数据的合法程度,仅仅限制了显示长度。还包括FLOAT、DOUBLE、DECIMAL在内的小数类型。

2、字串符类型

包括VARCHAR、CHAR、TEXT、BLOB。

展开全文

注意:VARCHAR(n)和CHAR(n)中的n并不代表字节个数,而是代表字符的个数。

3、日期和时间类型

常用于表示日期和时间类型为DALETIME、DEAT和TIMESTAMP。

尽量使用TIMESTAMP,空间效率高于DATETIME。

那再聊聊CHAR与VARCHAR有什么区别?

1、首先可以明确的是CHAR是定长的,而VARCHAR是可以变长的。

CHAR会根据声明的字符串长度分配空间,并会使用空格对字符串右边进行尾部填充。所以在检索CHAR类型数据时尾部空格会被删除,如保存的是字符串‘char’,但最后查询到的是‘char’。又因为长度的固定,所以存储效率高于VARCHAR类型。

VARCHAR在MySQL5.0之后长度支持到65535字节,但会在数据开头使用额外1~2个字节存储字符串长度(列长度小于255字节时使用1字节表示,否则2字节),在结尾使用1字节表示字符串结束。

2、再者,在存储方式上,CHAR对英文字符(ASCLL)占用1字节,对一个汉字使用2字节。而VARCHAR对每个字符均使用2字节。

虽然VARCHAR是根据字符串长度分配存储空间的,但在内存中依旧使用长度进行排序等,因此在使用时仍需综合考量字段长度。

看完了吧,你离成功又更近一步喽!!

特别声明

本文仅代表作者观点,不代表本站立场,本站仅提供信息存储服务。

分享:

扫一扫在手机阅读、分享本文