MySql基础知识----数据类型

1.整数类型:


整数类型字节最小值最大值
TINYINT1

有符号:-128,无符号:0

有符号127,无符号255
SMALLINT2有符号:-32768,无符号:0有符号:32767,无符号:65535
MEDIUMINT3有符号:-8388608,无符号:0有符号:8388607,无符号:1677215
INT和INTEGER4有符号:-2147483648,无符号:0有符号:2147483647,无符号:4294967295
BIGINT8有符号:-9223372036854775808,无符号:0

有符号:9223372036854775807

无符号:18446744073709551615


注:可以通过mysql的帮助系统查看各个类型的取值范围:

mysql> help INT
Name: 'INT'
Description:
INT[(M)] [UNSIGNED] [ZEROFILL]

A normal-size integer. The signed range is -2147483648 to 2147483647.
The unsigned range is 0 to 4294967295.

URL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html


2.    浮点数类型,定点数类型和位类型

2.1 浮点数类型

浮点数类型字节最小值最大值
FLOAT4   

±1.75494351E-38

±3.402823466E+38

DOUBULE8

±2.2250738585072014E-308

±1.7976931348623157E+308


2.2 定点数

定点数字节最小值最大值
DEC(M,D)和DECIMAL(M,D)M+2与DOUBLE相同与DOUBLE相同

DEC和DECMIAL两个定点数类型时候同名词,取值范围与DOUBLE相同,但是有效取值大范围有M和D决定。

2.3 位类型

位类型字节数最小值最大值
BIT(M)1~8BIT(1)BIT(64)

3. 日期和时间类型

日期和时间类型字节数最小值 最大值
DATE41000-01-019999-12-31
DATETIME81000-01-01 00:00:009999-12-31 23:59:59
TIMESTAMP4197001010800012038年的某个时刻
TIME3-835:59:59838:59:59
YEAR119012155

注意:每种日期和时间数据类型都有一个取值范围,若插入的数据超过该取值范围,则会插入默认值。

各个日期和时间类型的应用场合如下:

(1)如果要表示年月日,一般会使用DATE类型

(2)如果要表示年月日时分秒,一般会使用DATETIME类型

(3)如果需要经常插入或者更新日期为当前系统时间,一般会使用TIMESTAMP类型

(4)如果要表示时分秒,一般用TIME类型

(5)如果要表示年份,一般会用YEAR,因为该类型比DATE类型占有更少的空间


4. 字符串类型

4.1 CHAR系列字符串类型

CHAR系列字符串类型字节描述
CHAR(M)MM为0~255之间的整数
VARCHAR(M)MM为0~65535之间的整数

存储少量字符串,可以选择CHAR或者VARCHAR,至于选择哪一个,则需要判断所存储字符串长度是否经常变化,如果经常变化,则可以选这VARCHAR,否则选CHAR。


4.2 TEXT系列字符串类型

TEXT系列字符串类型字节描述
TINYTEXT0~255值的长度为±2个字节
TEXT0~65535值的长度为±2个字节
MEDIUMTEXT0~167772150值的长度为±3个字节
LONGTEXT0~4294967295值的长度为±4个字节

如果需要存储大量字符串(例如文章内容的纯文本),则可以选择TEXT系列的字符串。


4.3 BINARY系列字符串类型

BINARY系列字符串类型字节描述
BINARY(M)M允许长度为0~M
VARBINARY(M)M允许长度为0~M

如上表中两个字符串类型与CHAR字符串类型十分相似,不同的是,前者可以上表中的类型可以存储二进制数据(例如图片,音乐或者视频文件),而后者只能存储字符数据。注意,上表中的字符串类型只适合存储少量的二进制数据,至于选哪一种数据类型进行存储,则需要判断存储的二进制数据是否经常变化,如果经常发生变化可以选择VARBINARY,否则选择BINARY。


4.4 BOLOB系列字符串类型

BLOB系列字符串类型字节
TINYBLOB0~255
BLOB0~2^16
MEDIUMBLOB0~2^24
LONGBLOB0~2^32
上述表格中的字符串数据类型适合存储大量二进制数据,例如电影等视频文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值