易道云出品
今天小编就和大家聊聊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是根据字符串长度分配存储空间的,但在内存中依旧使用长度进行排序等,因此在使用时仍需综合考量字段长度。
看完了吧,你离成功又更近一步喽!!
特别声明
本文仅代表作者观点,不代表本站立场,本站仅提供信息存储服务。