数据类型说明:
- CHAR:1~255个字符的定长串。长度必须在创建时指定,否则MySQL假定为CHAR(1)。
- ENUM:接受最多64K个串组成的一个预定义集合的某个串。
- LONGTEXT:与TEXT相同,但最大长度为4GB。
- MEDIUMTEXT:与TEXT相同,但最大长度为16 K。
- SET:接受最多64个串组成的一个预定义集合的零个或多个串。
- TEXT:最大长度为64 K的变长文本。
- TINYTEXT:与TEXT相同,但最大长度为255字节。
- VARCHAR:长度可变,最多不超过255字节。如创建时指定为VARCHAR(n),则可存储0到n个字符的变长串(其中n≤255)。
PS:
1、引号:使用何种形式的串数据类型,串值都必须括在引号内(通常使用单引号)。
2、须遵守的基本规则:如果数值是计算(求和、平均等)中使用的数值,则存储在数值数据类型列中。如果数值作为字符串使用,则保存在串数据类型列中。如:在数值字段中存储邮政编码01234,保存的是数值1234,丢失了一位数字。
二、数值数据类型
存储数值。MySQL支持多种数值数据类型,每种存储的数值具有不同的取值范围。
支持的取值范围越大,所需存储空间越多。此外,有的数值数据类型支持使用十进制小数点(和小数),而有的则只支持整数。表D-2列出了常用的MySQL数值数据类型。
PS:
1、所有数值数据类型(除BIT和BOOLEAN外)都可以有符号或无符号。有符号数值列可以存储正或负的数值,无符号数值列只能存储正数。
2、默认情况为有符号,若不需要存储负值,可以使用UNSIGNED,这样做将允许你存储两倍大小的值。
3、与串不同,数值不应该在引号内。
4、MySQL中没有专门存储货币的数据类型,一般情况下使用DECIMAL(8, 2)。
数据类型说明:
- BIT:位字段,1~64位。在MySQL 5之前,BIT在功能上等价于TINYINT。
- BIGINT:整数值,支持-9223372036854775808~9223372036854775807。如果是UNSIGNED,为0~18446744073709551615的数。
- BOOLEAN(或BOOL):布尔标志,为0或者为1,主要用于开/关(on/off)标志。
- DECIMAL(或DEC):精度可变的浮点值。
- DOUBLE:双精度浮点值
- FLOAT:单精度浮点值
- INT(或INTEGER):整数值,支持-2147483648~2147483647,UNSIGNED同上。
- MEDIUMINT:整数值,支持-8388608~8388607,UNSIGNED同上。
- REAL:4字节的浮点值。
- SMALLINT:整数值,支持-32768~32767,UNSIGNED同上。
- TINYINT:整数值,支持-128~127,UNSIGNED同上。
三、日期和时间数据类型
数据类型说明:
- DATE:表示1000-01-01~9999-12-31的日期,格式为YYYY-MM-DD。
- DATETIME:DATE和TIME的组合。
- TIMESTAMP:功能和DATETIME相同,但范围较小。
- TIME:格式为HH:MM:SS。
- YEAR:2位数字表示,范围是70~69(1970~2069);4位数字表示,范围是1901~2155
四、二进制数据类型
可存储任何数据(甚至包括二进制信息),如图像、多媒体、字处理文档等。
数据类型说明:
- BLOB:Blob最大长度为64KB。
- MEDIUMBLOB:Blob最大长度为16 MB。
- LONGBLOB:Blob最大长度为4GB。
- TINYBLOB:Blob最大长度为255字节。
结语:
MySQL 的数据表示方式很多,建议了解常用的数据类型的存储范围,占据的字节数,尽可能地根据产品预估数据值范围或长度,选择合适的数据类型,从而在创建表一开始就注重性能。后期再来调整的代价往往超出设计之初付出的细致思考的时间成本。
以上就是MySQL 为什么要选择合适的数据类型的详细内容,更多关于MySQL 数据类型的资料请关注其它相关文章!
更多相关Mysql内容来自木庄网络博客
标签:Mysql
相关阅读 >>
mysql数据库查询基础,简单查询,条件查询,对查询结果排序
更多相关阅读请进入《mysql》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。