使用mysql数据库存储数据的时候,不同的数据类型决定了mysql存储数据方式的不同。
-
整数类型型
-
TINYINT
-
SMALLINT
-
MEDIUMINT
-
INT
-
BIGINT
不同的数据类型所占的字节数和取值范围是不同的,其中占用字节数最小的是TINYINT,占用字节数最大的是BIGINT,有符号和无符号的数据取值范围可以通过计算得出,字节数从上到下为:1,2,3,4,8
-
-
浮点数和定点数类型
- FLOAT 4字节 单精度
- DOUBLE 8字节 双精度
- DECIMAL(M,D) M+2 定点数
- DECIMAL类型的有效范围是由M和D决定的,其中M是数据的长度,D是小数点后的长度
- eg:DECIMAL(6,2)的数据是3.1415,插入数据后,显示的结果是3.14
-
日期和时间类型
-
YEAR 1字节 YYYY
- 使用四位数字或者字符串表示:(范围:1901~2155)使用2020或者’2020’,插入到数据库中的值均为2020
- 使用两位字符串表示:(范围:‘00’~‘99’)其中’14’,插入到数据库中的值为2014
- 使用两位数字表示:(范围:1~99)其中14,插入到数据库中的值为2014
-
DATE 4字节 YYYY-MM-DD
- 以’YYYY-MM-DD’或者’YYYYMMDD’字符串格式表示 :'2014-01-21’或者20140121,插入数据后都显示为2014-01-21
- 以’YY-MM-DD’或者’YYMMDD’表示
- 以YY-MM-DD或者YYMMDD数字格式表示
- 使用CURRENT_DATE或者NOW()表示当前系统日期
-
TIME 3 字节 HH:MM:SS
- 以’D HH:MM:SS‘字符串格式表示,D表示日,可以取0~34,插入数据时,小时的值等于(D*24+HH)
- 输入’2 11:30:50’,插入数据后显示:59:30:50
- 以’HHMMSS‘字符串格式或者HHMMSS表示
-
DATETIME 8字节 YYYY-MM-DD HH:MM:SS
- 以’YYYY-MM-DD HH:MM:SS’或者’YYYYMMDDHHMMSS’表示
- 以’YY-MM-DD HH:MM:SS’或者YYMMDDHHMMSS表示
- 以YYYYMMDDHHMMSS或者YYMMDDHHMMSS表示
- 使用NOW()来输入当前系统的日期和时间
-
TIMESTAMP 4字节 YYYY-MM-DD HH:MM:SS
- TIMESTAMP的格式和DATETIME的格式相同,但是取值范围比DATETIME小
- 使用CURRENT_TIMESTAMP来输入当前日期和时间
- 输入NULL时,系统会输入系统当前日期和时间
- 无任何输入的时候,系统会输入系统当前日期和时间
-
-
字符串和二进制类型
- CHAR 用于表示固定长度的字符串
- VARCHAR 用于表可变长度的字符串
- BINARY 用于表示固定长度的二进制数据
- VARBINARY 用于表示可变长度的二进制数据
- BLOB 用于表示二进制大数据
- TEXT 用于表示大文本数据
- ENUM 表示枚举类型,只能存储一个枚举字符串值
- SET 表示字符串对象,可以有零和多个值
- BIT 表示位字段类型,表示二进制数据,范围1~64