06.MySQL 数据类型(数值类型、日期和时间类型、字符串类型)

//MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

(1)数值类型

1.TINYINT     1字节(-128,127)(0,255)  小整数值

2.SMALLINT   2字节(-32 768,32 767)(0,65 535)大整数值

3.MEDIUMINT  3字节(-8 388 608,8 388 607)(0,16 777 215)大整数值

4.INT或INTEGER  4字节(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值

5.BIGINT      8 字节(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值

6.FLOAT      4 字节(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度

浮点数值

7.DOUBLE      8 字节(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)双精度

浮点数值

DECIMAL对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2依赖于M和D的值依赖于M和D的值小数值

(2)日期和时间类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR

DATE  31000-01-01/9999-12-31YYYY-MM-DD日期值

TIME    3'-838:59:59'/'838:59:59'HH:MM:SS时间值或持续时间

YEAR    11901/2155YYYY年份值

DATETIME    81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值

TIMESTAMP    41970-01-01 00:00:00/2038

结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

YYYYMMDD HHMMSS混合日期和时间值,时间戳

(3)字符串类型

字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。

CHAR      0-255字节定长字符串

VARCHAR   0-65535 字节变长字符串

TINYBLOB     0-255字节不超过 255 个字符的二进制字符串

TINYTEXT     0-255字节短文本字符串

BLOB      0-65 535字节二进制形式的长文本数据

TEXT      0-65 535字节长文本数据

MEDIUMBLOB      0-16 777 215字节二进制形式的中等长度文本数据

MEDIUMTEXT      0-16 777 215字节中等长度文本数据

LONGBLOB       0-4 294 967 295字节二进制形式的极大文本数据

LONGTEXT     0-4 294 967 295字节极大文本数据

MySQL 5.0 以上的版本:

1、一个汉字占多少长度与编码有关:

UTF-8:一个汉字=3个字节

GBK:一个汉字=2个字节

2、varchar(n) 表示 n 个字符,无论汉字和英文,Mysql 都能存入 n 个字符,仅是实际字节长度有所区别

区分varchar、char、text 三者的区别:

经常变化的字段用 varchar 

知道固定长度的用 char

 尽量用 varchar

 超过 255 字符的只能用 varchar 或者 text 

能用 varchar 的地方不用 text 

你可能感兴趣的:(06.MySQL 数据类型(数值类型、日期和时间类型、字符串类型))