2.数据类型
数据库系统中的数据类型大致可以分为五类:整数、数值、字符相关、日期时间以及二进制。
1.整数类型
整数数值全部由数字组成,不含有小数点。
1.1bit
数值是0,1,null。表示insert到数据库中时候只能是这3个值。存储可能的值是一个范例,表示bit适用的情况。
1.2int
int的范围是[-2^31 , 2^31 -1] 即 [-2147483648,2147483647]。21亿
1.3tinyint
存储大小为 1 字节,即8位。范围[0-2^8-1]
1.4bigint:
922亿个亿
2.数值类型
数值类型可以表示含有小数部分。其中m表示宽度包含小数部分,也就是m>=d+1
2.1float
2.2double
2.3decimal——同numeric
3.字符相关类型
主流数据库系统提供了下面几种类型供使用:固定长度、可变长度、国际化可变长度以及大字符串。
固定长度字符类型用来保存具有固定长度的字符串,我们可以指定字段所能保存的字符串的长度。比如设定字段的长度为100,那么如果我们将一个长度为100的字符串保存到这个字段的时候将恰好能够填满字段;如果设定的字符串长度不满100,那么剩余部分将以*空格填充*。在大部分数据库中固定长度字符类型的名称为char。只能存储基于ASCII 的字符。
可变长度字符类型一般也需要指定一个长度,但是这个长度指的是此字段所能保存的字符串的最大长度,如果保存的字符串的长度没超过最大长度的话,数据库将不会将剩余部分用空格填充。在大部分数据库中可变长度字符类型的名称为varchar。只能存储基于ASCII 的字符。
国际化可变长度字符类型,这种类型可以用两个字节来保存一个字符,这样就可以解决中韩日等字符串保存的问题了。在大部分数据库中可变长度字符类型的名称为nvarchar。
大字符串类型字段可以保存非常多的字符,用于保存一些文章、合同等场合的时候。
4.日期时间类型
timestamp:实际就是记录行的版本的,即各行记录的更新的时间先后。这种数据类型表现自动生成的二进制数,确保这些数在数据库中是唯一的。timestamp一般用作给表行加版本戳的机制
5.二进制类型
如果我们要将一幅图片或者一段视频存入数据库的话就需要使用二进制类型的字段,这种类型的字段通常能够保存非常大的、没有固定结构的数据。
6.Null值
处理含有NULL值的运算是非常麻烦的,不过只要记住“NULL代表未知”这一原则就可以灵活应对很多问题。
条件表达式“NULL=3”的返回值为NULL,因为无法确认3是否与一个未知值相等;“NULL=NULL”的返回值也为NULL,因为无法确认两个未知值是否相等;“NULL<>NULL”的返回值也为NULL,因为同样无法确认两个未知值是否不相等。