MySQL数据类型,如何选择数据类型

数据类型

一、整数类型

标准SQL支持INTEGER和SMALLINT两种整数类型,另外还扩展支持TINYINT、MEDIUMINT、BIGINT。

二、浮点数类型和定点数类型

浮点数类型包括单精度(FLOAT)和双精度(DOUBLE),定点数类型(DECIMAL)。

三、CAHR类型和VARCHAR类型

四、TEXT类型和BLOB类型

TEXT和BLOB类型是对应的,不过存储方式不同,TEXT是以文本方式存储的,而BLOB是以二进制方式存储的。如果存储英文的话,TEXT区分大小写,而BLOB不区分大小写。TEXT 可以指定字符集,BLOB 不用指定字符集。

五、BINARY类型和VARBINARY类型

        BINARY和 VARBINARY数据类型类似于 CHAR和 VARCHAR类型。不同之处在于BINARY与VARBINARY以字节为存储单位,而CHAR与VAR CHAR 以字符为存储单位。例如,BINARY(5)表示存储 5字节的二进制数据,CHAR(5)表示存储5个字符的数据。
        BINARY(n): 固定n个字节二进制数据。n的取值范范围为1-255,默认为1。若输出的字节长度小于n,则不足部分以0填充。BINARY(n)数据存储的字字节长度为n+4。
        VARBINARY(n):n个字节变长二进制数据。1 n 的取值范围为1-65535,默认为 1。 VARBINARY(n)数据存储的字节长度为实际长度+4。

六、日期和时间类型

        日期和时间类型是为了方便在数据库中存储日期和时间而设计的。MySQL有多种表示日期和时间的数据类型。其中,YEAR类型表示年份,TIME 类型表示时间,DATE类型表示日期,DATETIME和TIMESTAMP 表示日期和时间。

七、ENUM类型和SET类型

        ENUM类型和 SET类型是比较特殊的字符串数据类型,它们的取值范围是一个预先定义好的列表。被枚举的值必须用单引号标注,不能为表达式或者一个变量估值。如果想用数值作为枚举值,也必须用单引号标注。ENUM(枚举)类型最多可以定义 65535 种不同的字符串,从中做出选择时只能并且必须选择其中一种;占用存储空间是1个或2个字节,由枚举值的数目决定。例如,要表示性别字段,可用ENUM数据类型,ENUM('男','女')只有两种选择,要么是“男”要么是“女”,而且只需占用一个字节。
        SET(集合)类型,其值同样来自一个用逗号分隔的列表,最多可以有64个成员,可以选择其中的0个或不限定的多个,占用存储空间是1~8字节,由集合可能的成员数目决定。例如,某个表示业余爱好的字段,要求提供多选项供选择,这时该字段可以使用SET 数据类型,如 SET('篮球,'足球',音乐',电影,'看书,画画','摄影),表示可以选择“篮球”“足球”“音乐”“电影”“看书”“画画”“摄影”中

如何选择数据类型

在MySQL中创建表时,需要考虑为字段选择哪种数据类型是最合适的。选择合适的数据类型会提高数据库的使用效率。

SMALLINT: 存储相对比较小的整数,如年龄、工龄和学分等。

INT:存储中等大小整数,如距离。

BIGINT:存储超大整数,如科学数据。

FLOAT: 存储单精度的小的数据,如成绩、温度和测量值。

DOUBLE: 存储双精度的小数据,如科学数据。

DECIMAL: 以特别高的精度存储小数据,如货币数额、单价和科学数据。

CHAR:存储通常包含预定义字符串的变量,如国家名称、邮编和身份证号。

VARCHAR: 存储不同长度的字符串值,如名字、商品名称和密码。

TEXT:存储大型文本数据,如新闻事件、产品描述和备注。

BLOB: 存储二进制数据,如图片、声音、附件和二进制文档。

YEAR: 存储年份,如毕业年、工作年和出生年。

DATE:存储日期,如生日和进货日期。

TIME:存储时间或时间间隔,如开始/结束时间、两时间之间的间隔。

DATETIME:存储包含日期和时间的数据,如事件提醒。

TIMESTAMP:存储即时时间,如当前时间、事件提醒器。

ENUM:存储字符属性,只能从中选择之一,如性别、布尔值。

SET:存储字符属性,可从中选择多个字符的联合,如多项选择业余爱好和兴趣。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值