欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据与字段类型

程序员文章站 2022-03-27 12:11:26
数据与字段的类型 数据表 建表语句规范 SQL语句不区分大小写,但是表就是一个文件名,window不区分大小写,Linux区分大小写。 类型和属性 l 数值型 整型 注意:M:所占的位数 Unsigned:有无符号 Zerofill:1.插入数据时,当该字段的值的长度小于定义的长度时,会在改制的前面 ......

数据与字段的类型

数据表

  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个成员。

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

 数据与字段类型