-
四种主要数据类型
数值
例如:身高、体重、工资、销量、房屋面积等数据,适用于数值类型存储
字符
例如:姓名、公司名称、地址、商品描述、简历等数据,适用于字符类型存储
时间
例如:生日、订单日期、登录时间等数据,适用于时间类型存储
二进制
例如:照片、文件扫描件、音频、视频等数据,适用于二进制类型存储
-
常用数值数据类型
整数
- int, 如:sno int, 学号为整数数字
- int(N), 如:sno int(4),括号中的数字4为显示宽度和取值范围无关,如果学号为1,显示该学号时前面会补充3个空格,如果学号为99999,不影响存储,同样可以显示出来
小数
- decimal(M,N),M代表总共的位数,N代表的是小数的位数,如:score decimal(4,1),表示score这列存储分数,一共有4位,其中小数部分占1位
-
常用字符数据类型
定长字符
- char(N),如: sex char(6),存储性别占6位字符,如果只存储了一个字符‘男’,右边会填充5个空格,保证一共6个字符,但是最多只能存储6个字符
- 处理查询速度快,但是浪费存储空间
- 对于长度固定确经常作为查询条件的列,可以考虑使用char类型,例如: 18位身份证号码
变长字符
- varchar(N),如:sname varchar(20),存储学生姓名最多可以20个字符,不足20个字符不会填充空格,相对char类型节约存储空间
-
常用时间数据类型
date
- 用于仅仅需要存储日期数值时,不包括时间(时,分,秒)信息
- 默认格式:‘YYYY-MM-DD’, YYYY表示年,MM表示月,DD表示日
- 例如:birth date,存储学生的生日信息
datetime
- 用于即需要存储日期也需要存储时间信息时
- 默认格式:‘YYYY-MM-DD HH:MM:SS’, YYYY表示年,MM表示月,DD表示日,HH表示小时,MM表示分钟,SS表示秒
- 例如:login_time datetime,存储登录业务系统的日期和时间
-
数据类型选择要素
适当 (Appropriate)
- 需要以最适合数据类型来表示数据 例如:存储日期应当选择日期类型,而不要选择字符串类型。如果选择字符串类型存储,当需要日期计算的时候,需要用相关函数进行转换,记录数多的时候会浪费额外的系统资源
简洁 (Brief)
- 选择所用存储空间最少的数据类型。这可节省资源并提高性能 例如:存储学生姓名,应该选择varchar类型,而不要选择char类型,以节约存储空间
完整 (Complete)
- 选择的数据类型应分配有可存储特定项的最大可能值的充足空间 例如:存储地址信息时,使用varchar(N)来存储,N值给太小了,当地址字符串过长时会出现不能存储的情况,应当考虑最大的地址长度,给一个合适的值。