MySQL中常用的数据类型

database

在写sql语句的时候,数据类型是避不可少的一个环节,以下是我在学习的过程中总结的数据类型,仅供参考:

  • 数值类型

 

类型

有符号(signed)范围

无符号(unsigned)范围

描述

tinyint

(-128,127)

(0,255)

小整数值

smallint

(-32768,32767)

(0,65535)

大整数值

mediumint

(-8388608,8388607)

(0,16777215)

大整数值

int 或 integer

(-2147483648,2147483647)

(0,4294967295)

大整数值

bigint

(-2^63,2^63-1)

(0,2^64-1)

极大整数值

float

(-3.402823466 E+38,3.402823466351 E+38)

0 和 (1.175494351 E-38,3.402823466 E+38)

单精度浮点数值

double

(-1.7976931348623157 E+308,1.7976931348623157 E+308)

0 和 (2.2250738585072014 E-308,1.7976931348623157 E+308)

双精度浮点数值

decimal

依赖于M(精度)和D(标度)的值

依赖于M(精度)和D(标度)的值

小数值(精确定点值)

 

在上表可以看到每一个类型都是有自己相对应的范围,大于某个数值之后不能再使用原类型了,需注意类型的范围。

 

  • 字符串类型

类型

描述

char

定长字符串

varchar

变长字符串

tinyblob

不超过255个字符的二进制数据

tinytext

段文本字符串

blob

二进制数据的长文本数据

text

长文本数据

mediumblob

二进制形式的中等长度文本数据

mediumtext

中等长度文本数据

longblob

二进制形式的极大文本数据

longtext

极大文本数据

 字符串类型中char与varchar使用频率最高,它们的区别在于是否为定长字符串,在描述某一确定值时,比如身份证号码,在我国身份证号为18为,即使用char,比如姓名,字符长度不一,使用varchar。二进制文本现在使用频率已经大大降低,可以不做硬性要求。

  • 日期时间类型

类型

范围

格式

描述

date

1000-01-01至9999-12-31

yyyy-mm-dd

日期值

time

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

hh:mm:ss

时间值或持续时间

year

1901至2155

yyyy

年份值

datetime

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

yyyy-mm-dd hh:mm:ss

混合日期和时间值

timestamp

1970-01-01 00:00:01至2038-01-19 03:14:07

yyyy-mm-dd hh:mm:ss

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

 

在日期时间类型中特别注意year的范围是1901-2155,超出范围就需使用date。

数据类型至关重要,不容忽视。

以上是 MySQL中常用的数据类型 的全部内容, 来源链接: utcz.com/z/536386.html

回到顶部