mysql(数据类型)

MySQL 的数据类型有大概可以分为 5 种,分别是整数类型、浮点数类型和定点数类型、日期和时间类型、字符串类型、二进制类型等。
注意:整数类型和浮点数类型可以统称为数值数据类型。

1 数值类型
  整数类型包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,浮点数类型包括 FLOAT 和 DOUBLE,定点数类型为 DECIMAL。

2 日期/时间类型  
  包括 YEAR、TIME、DATE、DATETIME 和 TIMESTAMP。

3 字符串类型
  包括 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET 等。

4 二进制类型
  包括 BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。




数值类型:

MySQL 主要提供的整数类型有 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,其属性字段可以添加 AUTO_INCREMENT 自增约束条件。下表中列出了 MySQL 中的数值类型。

TINYINT

很小的整数

1个字节

SMALLINT

小的整数

2个宇节

MEDIUMINT

中等大小的整数

3个字节

INT (INTEGHR)

普通大小的整数

4个字节

BIGINT

大整数

8个字节




字符串类型:

CHAR(M)

固定长度非二进制字符串

M 字节,1<=M<=255

VARCHAR(M)

变长非二进制字符串

L+1字节,在此,L< = M和 1<=M<=255

TINYTEXT

非常小的非二进制字符串

L+1字节,在此,L<2^8

TEXT

小的非二进制字符串

L+2字节,在此,L<2^16

MEDIUMTEXT

中等大小的非二进制字符串

L+3字节,在此,L<2^24

LONGTEXT

大的非二进制字符串

L+4字节,在此,L<2^32

ENUM

枚举类型,只能有一个枚举字符串值

1或2个字节,取决于枚举值的数目 (最大值为65535)

SET

一个设置,字符串对象可以有零个或 多个SET成员

1、2、3、4或8个字节,取决于集合 成员的数量(最多64个成员)






注意:

CHAR 和 VARCHAR 类型
  1.CHAR(M) 为固定长度字符串,在定义时指定字符串列长。当保存时,在右侧填充空格以达到指定的长度。M 表示列的长度,范围是 0~255 个字符。

  2.例如,CHAR(4) 定义了一个固定长度的字符串列,包含的字符个数最大为 4。当检索到 CHAR 值时,尾部的空格将被删除。

  3.VARCHAR(M) 是长度可变的字符串,M 表示最大列的长度,M 的范围是 0~65535。VARCHAR 的最大实际长度由最长的行的大小和使用的字符集确定,而实际占用的空间为字符串的实际长度加 1。

  4.例如,VARCHAR(50) 定义了一个最大长度为 50 的字符串,如果插入的字符串只有 10 个字符,则实际存储的字符串为 10 个字符和一个字符串结束字符。VARCHAR 在值保存和检索时尾部的空格仍保留。

    5.下面将不同的字符串保存到 CHAR(4) 和 VARCHAR(4) 列,说明 CHAR 和 VARCHAR 之间的差别,如下表所示。


CHAR(4)

存储需求

VARCHAR(4)

存储需求

 ''

4字节

  ''

1字节

'ab'

4字节

 'ab'

3字节

'abc'

4字节

 'abc'

4字节

'abcd'

4字节

 'abcd'

5字节

小数类型:


FLOAT

单精度浮点数

4 个字节

DOUBLE

双精度浮点数

8 个字节


日期时间:

YEAR

YYYY

 

1901 ~ 2155

1 个字节

 

TIME

HH:MM:SS

 

-838:59:59 ~ 838:59:59

 

3 个字节

DATE

YYYY-MM-DD

 

1000-01-01 ~ 9999-12-3

 

3 个字节

DATETIME

YYYY-MM-DD HH:MM:SS

 

1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

 

8 个字节

TIMESTAMP

 

YYYY-MM-DD HH:MM:SS

 

1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07

 

4 个字节

posted @ 2022-03-08 15:52  Ccdjun  阅读(98)  评论(0编辑  收藏  举报