数据与字段类型
数据与字段的类型
数据表
- 数据表:是一个数据库里面用来存储数据的基本单元,是由表结构,表数据组成。
- 表的作用:存放相同规则的数据。
建表语句规范
sql语句不区分大小写,但是表就是一个文件名,window不区分大小写,linux区分大小写。
类型和属性
l 数值型
- 整型
注意:m:所占的位数
unsigned:有无符号
zerofill:1.插入数据时,当该字段的值的长度小于定义的长度时,会在改制的前面不上相应的0.
2.zerofill:默认为int(10)
3.当使用zerofill时,默认会自动加unsigned(无符号)属性,使用unsigned属性后,数值范围是原值的2倍,例如:有符号为-128~127,无 符号为0~256。
- int (integer) [(m)][(unsigned)][(zerofill)] 正常整数,有符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295。(占四个字节)
- tinyint[(m)][unsigned][zerofill] 很小的整数。有符号范围是-128到127,无符号范围是0到255。(占一个字节)
- smallint[(m)][unsigned][zerofill] 小整数。 有符号范围是-32768到32767,无符号整数是0到65535.(占两个字节)
- mediumint[(m)][insigned][zerofill] 中等大小整数。有符号范围是-8388608到8388607,无符号的范围是0到16777215。(占三个字节)
- bigint[(m)][unsinged][zerofill] 大整数。有符号范围是-9223372036854775808到9223372036854775807,无符号的范围是0到184467440709551615。(占八个字节)
-
浮点型
- 注意:整个数值的长度m;小数的长度:d
- float [(m,d)][zerofill] 单精度浮点数字。不能无符号。允许的值是-3.402823466e+38到-1.175494351e-38,0 和1.175494351e-38到3.402823466e+38。(占四个字节)
- m是显示宽度而d是小数的位数。没有参数的float或有<24 的一个参数表示一个单精密浮点数字。
- doule[(m,d)][unsigned] 双精度浮点数字。不能无符号。允许的值是-1.7976931348623157e+308到-2.2250738585072014e-308、 0和2.2250738585072014e-308到1.7976931348623157e+308。(占八个字节)
- m是显示宽度而d是小数位数。没有一个参数的double或float(x)(25 < = x < = 53)代表一个双精密浮点数字。
定点数:
decimal(m,d) 对于精度要求高的,推介使用定点数。例如:货币等精度敏感度高的数据。
由于浮点数存在误差,所以在项目里面尽可能少的不要用浮点数做=比较
l 日期型
- date yyyy-mm-dd
- time hh:mm:ss
- datetime yyyy-mm-dd hh:mm:ss
- timestamp yyyymmddhhmmss (时间戳)
- year yyyy yy
l 字符型
- 字符型
char(m)[binary] 定长字符串
varchar(m)[binary] 变长字符串
tinyblob & tinytext blob或text列,最大长度为255个字符
blob & text blob或 text 列,最大长度为65535个字符
longblob & longtext blob或 text列,最大长度为4294967295个字符
char 和varchar的区别
两者区别:
char定长,varchar可变长度。声明时指定长度,超出长度后会报错。
如果存入的字符不足生命的长度,char的大小还是生命的长度;而varchar会自动伸缩为实际存入字符串的长度以节省空间
应用场景:
char固定长度,效率高,比如性别...但是浪费空间
varchar不固定长度,速度慢,效率低,但节省空间,比如文章标题...
blob代表字节流,用来保存二进制数据,照片、电影、压缩包。一般我们并不在数据库中直接存放多媒体数据,而是将资源存在服务器,数据库中只保存存储的路径即可。
- 枚举型
enum(‘value1’,’value2’,....)枚举,只有一个值得字符串对象。最多可以有65535个不同的值。(枚举列表里面成员必须放在’’里面)
- 集合型
set(‘value1’,’value2’..........)集合,能有一个或多个之的字符串对象,其中每一个必须从列表中选出,最多可以有64个成员。
区别:枚举一次只能使用一个值,而集合可以使用多个用,隔开。
上一篇: 一文学会目前最火热的大数据技术
下一篇: 这些蔬菜的做法你了解多少