当前位置: 移动技术网 > IT编程>数据库>Mysql > 数据与字段类型

数据与字段类型

2018年10月23日  | 移动技术网IT编程  | 我要评论

数据与字段的类型

数据表

  1. 数据表:是一个数据库里面用来存储数据的基本单元,是由表结构,表数据组成。
  2. 表的作用:存放相同规则的数据。

建表语句规范

 

sql语句不区分大小写,但是表就是一个文件名,window不区分大小写,linux区分大小写。

类型和属性

数值型

  • 整型

  注意:m:所占的位数

     unsigned:有无符号

     zerofill1.插入数据时,当该字段的值的长度小于定义的长度时,会在改制的前面不上相应的0.

         2.zerofill:默认为int(10)

         3.当使用zerofill时,默认会自动加unsigned(无符号)属性,使用unsigned属性后,数值范围是原值的2倍,例如:有符号为-128~127,无          符号为0~256

  1. int (integer)  [(m)][(unsigned)][(zerofill)]  正常整数,有符号的范围-2147483648到2147483647,无符号的范围是0到4294967295。(占四个字节)
  2. tinyint[(m)][unsigned][zerofill]  很小的整数。有符号范围是-128127,无符号范围是0255(占一个字节)
  3. smallint[(m)][unsigned][zerofill]  小整数。 有符号范围是-3276832767,无符号整数是065535.(占两个字节)
  4. mediumint[(m)][insigned][zerofill]  中等大小整数。有符号范围是-83886088388607,无符号的范围是016777215(占三个字节)
  5. bigint[(m)][unsinged][zerofill]   大整数。有符号范围是-92233720368547758089223372036854775807,无符号的范围是0184467440709551615(占八个字节)
  • 浮点型
    • 注意:整个数值的长度m;小数的长度:d
  1. float [(m,d)][zerofill]  单精度浮点数字。不能无符号。允许的值是-3.402823466e+38到-1.175494351e-38,0 和1.175494351e-38到3.402823466e+38。(占四个字节)
  2. m是显示宽度而d是小数的位数。没有参数的float或有<24 的一个参数表示一个单精密浮点数字。
  3. doule[(m,d)][unsigned] 双精度浮点数字。不能无符号。允许的值是-1.7976931348623157e+308到-2.2250738585072014e-308、 0和2.2250738585072014e-308到1.7976931348623157e+308。(占八个字节)
  4. m是显示宽度而d是小数位数。没有一个参数的double或float(x)(25 < = x < = 53)代表一个双精密浮点数字。

定点数:

  decimal(m,d)   对于精度要求高的,推介使用定点数。例如:货币等精度敏感度高的数据。

  由于浮点数存在误差,所以在项目里面尽可能少的不要用浮点数做=比较

   

日期型

  • date yyyy-mm-dd
  • time hh:mm:ss
  • datetime yyyy-mm-dd hh:mm:ss
  • timestamp yyyymmddhhmmss (时间戳)
  • year yyyy yy

字符型

  • 字符型

    char(m)[binary]  定长字符串

    varchar(m)[binary]  变长字符串

    tinyblob & tinytext  blobtext列,最大长度为255个字符

    blob & text  blobtext 列,最大长度为65535个字符

    longblob & longtext blobtext列,最大长度为4294967295个字符

char varchar的区别

两者区别:

  char定长,varchar可变长度。声明时指定长度,超出长度后会报错。

  如果存入的字符不足生命的长度,char的大小还是生命的长度;而varchar会自动伸缩为实际存入字符串的长度以节省空间

应用场景:

  char固定长度,效率高,比如性别...但是浪费空间

  varchar不固定长度,速度慢,效率低,但节省空间,比如文章标题...

 blob代表字节流,用来保存二进制数据,照片、电影、压缩包。一般我们并不在数据库中直接存放多媒体数据,而是将资源存在服务器,数据库中只保存存储的路径即可。

  • 枚举型

enum(‘value1’,’value2’,....)枚举,只有一个值得字符串对象。最多可以有65535个不同的值。(枚举列表里面成员必须放在’’里面)

  • 集合型

set(‘value1’,’value2’..........)集合,能有一个或多个之的字符串对象,其中每一个必须从列表中选出,最多可以有64个成员。

区别:枚举一次只能使用一个值,而集合可以使用多个用,隔开。

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网