mysql 数据库快速入门 MySQL的数据类型

目录

MySQL 数据类型

数值类型

字符串(字符)类型

日期/时间类型


MySQL 数据类型

MySQL支持所有标准SQL数值数据类型。

数据字段的类型对数据库的优化是非常重要的,合理的使用数据类型,对数据库的真来说都是有益的。

MySQL支持多种类型,大致可以分为三类:

  • 数值类型
  • 字符串(字符)类型
  • 日期/时间类型

数值类型

类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1 字节

(-128,127)

(0,255) 小整数值
SMALLINT 2 字节

(-32 768,32 767)

(0,65 535) 大整数值
MEDIUMINT 3 字节

(-8 388 608,8 388 607)

(0,16 777 215) 大整数值
INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 字节

(-9 233 372 036 854 775 808,

9 223 372 036 854 775 807)

(0,18 446 744 073 709 551 615) 极大整数值
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)

单精度
浮点数值
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的值 小数值

字符串(字符)类型

类型 大小 用途
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字节 极大文本数据

一个汉字占多少长度与编码有关UTF-8:一个汉字=3个字节 GBK:一个汉字=2个字节

CHAR(10)占内存大小固定,不管是存了一个字符还是8个,字符串的大小固定。

VARCHAR(10)占用内存大小由本身的字符串决定,存入内存中的字符是一个就占一个字节,大小不固定。

日期/时间类型

类型 大小
(字节)
范围 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 4

1970-01-01 00:00:00/2038   结束时间是第 2147483647 秒,

北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

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

时间的类型,TIMESTAMP又有它的故事,它最多能表达到北京时间: 2038-1-19 11:14:07 

具体原因有兴趣的同学自行查看。

猜你喜欢

转载自blog.csdn.net/z1162565234/article/details/85716012