2020-07-03图文 MySQL的数据类型


数据类型

MySQL中的数据类型 主要用于 指定 数据表中的字段(列)的数据类型。 

大致分为三类: 数值、日期/时间和字符串(字符)类型。

数值类型

|类型|大小|范围|用途| 

|-|-|-|-| 

|TINYINT|1 byte|(-128,127)|小整数值| 

|SMALLINT|2 bytes|(-32 768,32 767)|大整数值| 

|MEDIUMINT|3 bytes|(-8 388 608,8 388 607)|大整数值| 

INT或INTEGER|4 bytes|(-2 147 483 648,2 147 483 647)|大整数值| 

BIGINT|8 bytes|(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)|极大整数值 

FLOAT|4 bytes|(-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) |单精度浮点数值| 

|DOUBLE|8 bytes|(-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)|双精度 浮点数值| 

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

其中 DECIMAL(M,D)类型比较特殊,其中M代表可存储的十进制数的最大位数,包括小数位,D表示小数位有几位。DECIMAL类型==通常用来表示金额==等字段 

举例: 

decimal(3):999 

decdimal(3,2):9.99 

decimal(10,5):11615.23653

时间类型

|类型|大小|范围|格式|用途| 

|-|-|-|-|-| 

|DATE|3 bytes|1000-01-01到9999-12-31|YYYY-MM-DD|日期值| 

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

|YEAR|1 byte|1901到2155|YYYY|年份值| 

|DATETIME|8 bytes|1000-01-01 00:00:00到9999-12-31 23:59:59|YYYY-MM-DD HH:MM:SS|混合日期和时间值| 

|TIMESTAMP|4 bytes|1970-01-01 00:00:00到2038年结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07|YYYYMMDD HHMMSS|混合日期和时间值,时间戳|

字符串类型

|类型|大小|用途| 

|-|-|-| 

|CHAR|0-255 bytes|定长字符串| 

|VARCHAR|0-65535 bytes|变长字符串| 

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

|TINYTEXT|0-255 bytes|短文本字符串| 

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

|TEXT|0-65 535 bytes|长文本数据| 

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

|MEDIUMTEXT|0-16 777 215 bytes|中等长度文本数据| 

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

|LONGTEXT|0-4 294 967 295 bytes|极大文本数据|

char 和 varchar 比较常用


练习

1、列出三个MySQL中的数值类型及其范围?

:|TINYINT|1 byte|(-128,127)|小整数值| ;

|SMALLINT|2 bytes|(-32 768,32 767)|大整数值| ;

|MEDIUMINT|3 bytes|(-8 388 608,8 388 607)|大整数值| 。

2、列出三个MySQL中的时间日期类型及其范围?

:|DATE|3 bytes|1000-01-01到9999-12-31|YYYY-MM-DD|日期值| ;

|TIME|3 bytes|'-838:59:59'到'838:59:59'|HH:MM:SS|时间值或持续时间| ;

|YEAR|1 byte|1901到2155|YYYY|年份值|。

3、列出三个MySQL中的字符类型及其范围?

:|CHAR|0-255 bytes|定长字符串| ;

|VARCHAR|0-65535 bytes|变长字符串| ;

|TINYBLOB|0-255 bytes|不超过 255 个字符的二进制字符串|。

4、表示金额的字段通常使用什么数据类型?

:数值类型。

5、只表示日期的字段适合使用什么数据类型?

:时间类型。

6、表示日期+时间的字段适合使用什么数据类型?

:时间类型。

你可能感兴趣的:(2020-07-03图文 MySQL的数据类型)