MySQL第三章

本章内容

MySQL数据类型

MySQL运算符

 

MySQL具有丰富的数据类型,在建表和存储过程中都需要指定数据类型

常用的数据类型有:

数值类型

字符类型

日期和时间类型

MySQL主要提供的整数类型有:tinyintsmallintmediumintintbigint

tinyint 很小的整数 一个字节

smallint 小的整数 二个字节

mediumint 中等大小的整数 八个字节

MySQL第三章

整数类型可以在定义表结构时指定整数类型的显示宽度,如果不指定,系统为每一个类型指定默认的宽度值,如:MySQL第三章

提示:显示宽度只是用于显示,并不能限制取值范围和占用空间,如:int(3)会占用4个字节的存储空间,并且允许的最大值也不会是999,而是int所允许的最大值

MySQL第三章

日期和时间类型

类型

描述

存储需求

范围

DATETIME

格式为YYYY-MM-DD HH:MM:SS

8

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

DATE

格式为YYYY-MM-DD

3

1000-01-01~9999-12-31

TIMESTAMP

格式为YYYY-MM-DD HH:MM:SS

4

1970-01-01 00:00:01 UTC~2038-01-19 03:14:07

TIME

HH:MM:SS

3

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

YEAR

YYYY

1

1901-2155

 

Year

Year类型表示年,可以使用各种格式指定year的值

4位字符串或者4位数字格式表示year,取值范围’1901’~2155’,输入格式为‘YYYY’或者YYYY,例如:输入’2010’2010

2位字符串格式表示的year,范围’00~99‘。’00~69‘和’70~99‘范围的值分别被转换成2000-20691970-1999范围的year的值。

2位数字表示的year,范围1~991~6970~99范围的值分别被转换为2001~20691970~1999范围的year值。

 

TIME

TIME类型用在只需要时间信息的值,在插入数据时要注意,因为可以采用非严格语法,支持

HH:MM:SS  10:05:05 10:05:05

HH:MM        23:23    23:23:00

D HH:MM     2 10:10  58:10:00  24*2+10:10  D代表天

D HH            3 02     74:00:00  24*3+10     小时部分小于10,前面补0

SS                10       00:00:10

HHMMSS     101112   11:11:12  如果分钟部分大于59,插入的会失败

 

DATE

 

DATE类型用在仅需要日期值时,没有时间部分,在插入遵循 YYYY-MM-DD YY-MM-DD YYYYMMDD YYMMDD都可以,并且允许非严格语法比如插入98.11.31 98/11/31 [email protected]@31,任何标点符合都可以做日期、时间的分割符

使用current_date或者now(),插入当前系统日期。

DATATIME

DATATIME类型用在需要同时包括日期和时间信息的值,格式为‘YYYY-MM-DD HH:MM:SS’、‘YYYYMMDDHHMMSS’、 ‘YY-MM-DD HH:MM:SS’、‘YYMMDDHHMMSS’、 YYYYMMDDHHMMSS YYMMDDHHMMSS

 

TIMESTAMP

uTIMESTAMP的显示格式与DATETIME相同,但TIMESTAMP的取值范围小于DATETIME的取值范围,为‘1970-01-01 00:00:01 UTC~2038-01-19 03:14:07 UTC,其中UTC为世界标准时间,在插入数据时,要保证在合法的取值范围内。

字符类型

类型

描述

CHARM)

存储固定长度字符串

VARCHAR(M)

存储可变长度字符串

ENUM

枚举类型

SET

集合类型(集合中最多有64个成员)

BLOB

存储二进制大对象

TEXT

存储文本大对象

 

CHARVARCHAR类型

CHAR(M)为固定长度字符串,在定义时指定字符串列长。在保存时在右侧填充空格以达到指定的长度。M表示列长度,M的范围是0~255个字符。

VARCHAR(M)是长度可变的字符串,M表示最大列长度。M的范围是0~65535

BIT类型

BIT(M),位字段类型。M表示每个值的位数,范围为1~64。如果M被省略,默认为1.如果为BIT(M)列分配的值的长度小于M位,在值的左边用0填充。例如:为BIT(6)分配一个值b’101,其效果与分配b000101相同。

BIT数据类型用来保存位字段值,例如:以二进制的形式保存数据1313的二进制形式为1101,在这里需要位数至少为4BIT类型,即可定义列类型为BIT(4)

MySQL第三章

MySQL第三章