您的位置:首页 > 数据库 > MySQL

MySQL 常用数据类型解析

2015-12-31 10:48 666 查看
以下内容从官网里都能找到,地址

1.整数类型(精确值)

包括TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT类型。

每个类型都有一个数值范围,超过这个范围,将存储这个范围里的最大值。

详细内容请看下表。

类型存储(Byte)最小值(Signed/Unsigned)最大值(Signed/Unsigned)
TINYINT1-128 / 0
127
/ 255
SMALLINT2
-32768
/ 0
32767
/
65535
MEDIUMINT3
-8388608
/ 0
8388607
/
16777215
INT4
-2147483648
/ 0
2147483647
/
4294967295
BIGINT8
-9223372036854775808
/ 0
9223372036854775807
/
18446744073709551615
2.精准浮点数类型(精确值)

DECIMAL 和 NUMERIC 存储精准的数值,此类型被用在对数值精准要求很高的地方,比如货币数据。

DECIMAL(m,n),m表示位数,n表示小数部分。

比如:DECIMAL(5,2)表示的范围是-999.99 至 999.99

3.浮点数类型(近似值)

FLOAT 和 DOUBLE 类型表示近似的数字数值,在MySQL数据库里FLOAT占用4个字节,DOUBLE占用8个字节。

如果要插入999.00009到FLOAT(7,4)字段,那么近似值的结果是999.0001。

4.日期时间类型

请看表格内容

类型存储(Byte)表示范围其他说明
DATETIME8'1000-01-01 00:00:00' 至 '9999-12-31 23:59:59'包含日期和时间部分
TIMESTAMP4'1970-01-01 00:00:01' UTC 至 '2038-01-19 03:14:07' UTC包含日期和时间部分
DATE3'1000-01-01' 至 '9999-12-31'只有日期部分,没有时间部分
TIME3'-838:59:59' 至 '838:59:59'它不仅仅表示一天的时间,还表示两个事件之间的时间间隔(可能大于24小时)
YEAR1YEAR(4)表示 1901 至 2155

YEAR(2)表示 1970 至 2070
5.字符串类型

此类型包含 CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM 和 SET

CHAR,表示存储字符固定长度,范围:0至255,如果字符长度小于指定长度,会在存储字符的右边补空格,

比如CHAR(30),表示指定存储字符长度为30,如果存储了小于30的字符,那么会在右边补空格。

VARCHAR,表示存储可变长度的字符,范围:0至65535,

它会用1个字节,或者2个字节来表示存储字符的长度,存储字符长度小于255,就用1个字节,大于255,就用2个字节.

详细内容如下:

Value
CHAR(4)
Storage Required
VARCHAR(4)
Storage Required
''
' '
4 bytes
''
1 byte
'ab'
'ab '
4 bytes
'ab'
3 bytes
'abcd'
'abcd'
4 bytes
'abcd'
5 bytes
'abcdefgh'
'abcd'
4 bytes
'abcd'
5 bytes
BINARY 和 VARBINARY 跟 CHAR 和 VARCHAR相似,除此之外,它们用来存储二进制字符串。

BLOB 存储大的二进制对象,包括 TINYBLOB, MEDIUMBLOB, BLOB 和 LONGBLOB类型.

TEXT 存储大文本字符,包括 TINYTEXT, MEDIUMTEXT, TEXT 和 LONGTEXT类型.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: