数据库——(4)数据类型

来源:互联网 发布:仿真实训软件 编辑:程序博客网 时间:2024/06/06 00:39

所谓数据类型:对数据进行统一分类,从系统的角度出发是为了能够统一的方式进行管理,更好的利用有限的空间。
SQL中将数据类型分成三大类:数值类型字符串类型时间日期类型

一、数值类型
都是数值,分为整数型和小数型:
整数型:考虑节省磁盘空间,系统将整数型细分为5类
1.Tinyint(常用):迷你整形,使用1个字节存储,表示的状态最多为256种(2^8)。
2.Smallint:小整型,使用2个字节存储,表示的状态最多为65536种(2^16)。
3.Mediumint:中整型,使用3个字节存储。
4.Int(常用):标准整型,使用4个字节存储。
5.Bigint:大整形,使用8个字节存储。
注意:SQL中数值类型都是默认有符号:分正负,有时候需要使用无符号数据需要给数据类型限定,如:int unsigned; –从0开始
小数型:带有小数点或者范围超出整型的数值类型。SQL中将小数型分为两种:
浮点型:小数点浮动,精度有限,会丢失精度。
定点型:小数点固定,精度固定,不会丢失精度。(不会四舍五入)
浮点型理论分为两种精度
float:单精度,占4个字节存储数据,精度范围大概为7位左右。
double:双精度,占8个字节存储数据,精度范围大概为15位左右。
浮点型使用:float 表示没有小数部分,float(M,D),M代表总长度,D代码小数长度,M-D代表整数长度。
定点型使用:decimal(M,D)M最大为65,D最大为30。

二、时间日期类型
Datetime:时间日期,格式是YYYY-mm-dd HH:ii:ss,表示的范围是1000年到9999年,但存在0值:0000-00-00 00:00:00
Date:日期,就是Datetime中的date部分
Time:时间(段),指定的某个区间之间,表示时间段。
Timestamp:时间戳,从1970开始的YYYY-mm-dd HH:ii:ss格式。
Year:年份,两种形式,year(2)表示1970-2069,year(4)表示1900-2156

三、字符串类型
SQL中,将字符串类型分成6类:char,varchar,text,blob,enum,set
定长字符串:char(L),二维表在定义结构时,就确定了最终数据的存储长度。L代表可以存储的长度,单位为字符,最大长度值可以为255。

变长字符串:varchar(L),在分配空间时,按照最大的空间分配,但实际上最终用了多少是根据具体的数据来确定。
区别:定长的磁盘空间比较浪费,但是效率高;变长磁盘空间比较节省,但是效率低。

文本字符串:根据存储的数据的格式进行分类:text 和blob
text:存储文字(二进制数据实际上存储路径)
blob:存储二进制数据(通常不用)

枚举:enum,事先将所有可能出现的结果都设计好,实际上存储的数据必须是规定好的数据中的一个。内部存储是整型表示。
作用:规范数据格式;节省存储空间(枚举通常有一个别名:单选框)。

集合:set,实际存储的是数值,而不是字符串(集合是多选)。
集合中每一个元素都对应一个二进制位。

原创粉丝点击