char
定长字符数组
char长度固定,不足使用空格填充,最多容纳2000个字符,char(11)存储abc,占11位。查询速度极快但浪费空间
name char(10) 表示声明了一个长度为10的字符串,名字叫做name
varchar
限长字符数组
varchar变长字符串,最多容纳4000个字符,varchar(11)存储abc,只占3位。查询稍慢,但节省空间。Oracle为varchar2
name varchar(10) 表示声明了一个长度为10的字符串,名字叫做name
联系方式:varchar 手机号,电话换
身份证号:char
大文本: 大量文字(不推荐使用,尽量使用varchar替代)
以utf8编码计算的话,一个汉字在u8下占3个字节
注:不同数据库版本长度限制可能会有不同
tinyint
相当于java中byte,只占用一个字节,用的不多
smallint
相当于java中的short
int
整数类型 ,整数中默认都爱使用这个类型,占4个字节
bigint 相当于java中的long类型
float,double
小数类型
salary、double
salary double(10,2)
表示double占10个位,其中小数位是2位 98765432.10
numeric、decimai
numeric(5,2) decimal(5,2)—也可以表示小数,表示总共5位,其中有两位小数
decimal和numeric 表示精确的整数数字
date
包含年月日 birthday date 1992-6-2
time
时分秒
datetime
包含年月日和时分秒
timestamp
时间戳,不是日期,而是从1970年1月1日到指定日期的毫秒数
blob
二进制数据,可以存放图片、声音,容量4g。早期有这样的设计。但其缺点非常明显,数据库庞大,备份缓慢,这些内容去备份多份价值不大。同时数据库迁移时过大,迁移时间过久。所以目前主流都不会直接存储这样的数据,而只存储其访问路径,文件则存放在磁盘上。



