数据库中的数据类型
一.数字型
整型
TINYINT 1字节 byte
SMALLINT 2字节 short
MEDIUMINT 3字节
(常用)INT 4字节 int
BIGINT 8字节 long
浮点型
FLOAT 单精度4字节 float
DOUBLE 8字节 double
DECIMAL 没有精度损失
DOUBLE 和 DECIMAL 区别?
DOUBLE类型在运算时会有精度的缺失。
DECIMAL 就是解决精度缺失问题的。(底层使用字符串来保存数字)
单纯想表示小数属性时,使用double。
需要频繁参与运算的小数,使用decimal。
二.字符串类型
注意: 字符串类型要使用单引号包裹.
短字符串类型
CHAR/VARCHAR (最大长度255字节)
问题:char和varchar有什么区别?
char定长字符串.varchar表示变长字符串.
同时指定长度为10。当存储 abc
char =》 'abc '
varchar => 'abc'
结论: 开发中varchar用的最多。 char只在表示固定长度的枚举中使用。例如 :性别(用01,02表示)
长字符串类型(流类型)
TEXT/CLOB 保存文本(字符流) –> 当要保存的内容超过255字节时使用. java中的writer 字符
BLOB 保存字节(字节流) –> 开发中用不到 java中的stream 字节
Character Large Object
binary Large Object
区别:
text:只能存储字符数据.
BLOB:可以存储字符和多媒体信息(图片 声音 图像)
三.日期和时间类型
date 只记录日期 2015-01-14
time 只记录时间 11:36:25
year 只记录年 2015
datatime 又记录日期 又记录 时间 2015-01-14 11:36:25
timestamp 同上 2015-01-14 11:36:25
问题: datatime 和 timestamp 区别?
这两种类型记录的数据是一模一样.
区别在于插入的时候,如果插入datatime类型时,没有传值,那么该类型默认值就是null; 如果插入timestamp类型时,没有传值,那么该类型默认值就是当前时间;