mysql的数据类型

mysql的数据类型 

数据列类型

存储空间

说明

取值范围

TINYINT

1字节

非常小的整数

带符号值:-128~127

无符号值:0~255

SMALLINT

2字节

较小的整数

带符号值:-32768~32767

无符号值:0~65535

MEDIUMINT

3字节

中等大小的整数

带符号值:-8388608~8388607

无符号值:0~16777215

INT

4字节

标准整数

带符号值:-2147483648~2147483647

无符号值:0~4294967295

BIGINT

8字节

大整数

带符号值:-263~263-1

无符号值:0~264-1

FLOAT

4或8字节

单精度浮点数

最小非零值:+- 1.175494351E-38

最大非零值:+- 3.402823466E+38

DOUBLE

8字节

双精度浮点数

最小非零值:+- 2.225073E-308

最大非零值:+- 1.797693E+308

DECIMAL

自定义

以字符串形式表示的浮点数

取决于存储单元字节数

整型:

       Tinyint  微小整型  只能表示  255 个数  年龄,布尔值

       Smalint  小整型   可以表示  65535个数  (这货很尴尬,在他的范围内自定义使用)

       Mediumint  中整型  表示16777215  (这货很尴尬,在他的范围内自定义使用)

       Int  整型  表示和php相同的整型个数  最常用  id

       Bigint    大整形,一般不用 

       Float  单精度浮点型

       Double  双精度浮点型   

       Decimal  双精度字符串浮点型 (村钱用的)

数据列类型

存储空间

说明

取值范围

CHAR[(M)]

M字节

定长字符串

M字节

VARCHAR[(M)]

L+1字节

可变字符串

M字节

TINYBLOB,TINYTEXT

L+1字节

非常小的BLOB(二进制大对象)和文本串

28-1字节

BLOB,TEXT

L+2字节

小BLOB和文本串

216-1字节

MEDIUMBLOB,

MEDIUMTEXT

L+3字节

中等的BLOB和文本串

224-1字节

LONGBLOB,

LONGTEXT

L+4字节

大BLOB和文本串

232-1字节

ENUM(‘value1’,’value2’…)

1或2字节

枚举:可赋予某个枚举成员

65535个成员

SET(‘value1’,‘value2’…)

1,2,3,4或8字节

集合:可赋予多个集合成员

64个成员

Char 字符串类型   char(10)     0-255

       特点:  数据长度固定,不足制定长度也要占用一个完整位置,浪费空间了,效率较高

Varchar 字符串类型  varchar(100)

       特点:  数据长度不固定,由数据内容决定,节省空间,效率变低。

定长字符:  密码,姓名

变长类型:  (卫星实时通信)  ,大量的数据碎片

Blob类型:(存储食品,图片,软件)

       文本类型,用与存储较大的文本数据

       Tinyblob:   0-255 字节

       Blob:   0-65535字节

       Mediumblob:  0- 16772150字节

    Longblob: 

Text类型:  文本类型,存储较大的文本数据

        最大长度为65,535(2的16次方–1)字符的TEXT列。
        MEDIUMTEXT最大长度为16,777,215。
        LONGTEXT最大长度为4,294,967,295。
        主要是用来存放非二进制的文本,如论坛帖子,题目,或者百度知道的问题和回答之类。

区别:

       Text  不区分大小写  (经常使用的)

  Blob:  区分大小写

  ENUM  枚举类型

       ‘man’,’woman’,’other’

       枚举类型就是有用户实现指定好的,可以设置的数据的值然后添加数据或修改数据是,只能从指定的值中,选择一个!

Set  类型(集合类型)

       集合类型就是由用户事先指定好可以设置的数据的值,然后添加数据或修改数据时,可以从制定之中选取N个操作!

注意:  这两种类型会增加我们mysql的压力,php可以处理

Binary    二进制数据类型

Varbinary  变长的二进制数据类型

布尔类型:

       Mysql不提供布尔数据类型,如果要使用布尔类型,可以使用tinyint 的0和1表示false和true  即可

时间类型(我们了解即可)

数据列类型

存储空间

说明

取值范围

DATE

3 字节

“YYYY-MM-DD”格式表示的日期值

1000-01-01~9999-12-31

TIME

3 字节

“hh:mm:ss”格式表示的时间值

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

DATETIME

8 字节

“YYYY-MM-DD hh:mm:ss”格式

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

TIMESTAMP

4 字节

“YYYYMMDDhhmmss”格式表示的时间戳

19700101000000-2037年的某个时刻

YEAR

1 字节

“YYYY”格式的年份值

1901~2155

我们平时要是使用时间怎么办?  存储时间戳

原文地址:https://www.cnblogs.com/c-961900940/p/4070557.html