美文网首页
MySQL--数据类型

MySQL--数据类型

作者: 一步一看 | 来源:发表于2018-12-19 23:11 被阅读0次

    视频链接

    一.整型:

    tinyint:一个字节由于增加了负数,实际范围为:-128~127

    smallint:系统采用两个字节来保存的整型,-2^15-2^15-1

    meiumint:系统采用三个字节来保存的整型

    int:系统采用四个字节来保存的整型

    bigint:系统采用八个字节来保存的整型

    如果只需要正数,就使用无符号正数 加入unsigned关键字

    alter table my_int add int_6 tinyint unsigned first;

    此时,tinyint表示范围是:0-255/2^16-1

    zerofill 使得数据按照规定的位数来显示,不够的位数用0填充

    alter table my_int add int_6 tinyint unsigned zerofile first;

    此时,如果是1 会显示为001

    alter table my_int add int_6 tinyint unsigned zerofile first;(这个为4位)

    此时,1会显示为0001

    二.小数类型

    浮点型

    存储时用指数的方式来储存,所以表示数据量大,但是数据精度不是很高

    如果丢失,会按照四舍五入方式来保存

    float:单精度类型,可以表示10^38,系统提供4个字节来存储数据,只能保证大概7左右的精度

    使用方法:

    Float,表示不指定小数位数

    Float(M,D),表示整数8位,小数2位共10位

    浮点数可以用科学计数法表示:10e5 表示100000

    double:双精度类型,可以表示10^308,系统提供,精度也只有15位左右,使用方式同上

    定点数 

    视频例子

    能够保证数据精确的小数(小数部分超出长度会四舍五入,整数部分会精确)

    decimal,系统会自动个根据存储数据来分配存储空间,大概每9个数就会分配4个字节来保存,同时小数和整数部分会分开存储

    Decimal(M,D),M表示总长度最大值不能超过65,D表示小数的长度最大不能超过30

    三.时间

    date                    YYYY-mm-dd

    time                    HH:ii:ss 本质是用来表示时间区间,能表示的范围比较大,也可以是负数

    【数字 HH:ii:ss-->数字*24+HH:ii:ss】eg:'5 12:12:12'->'132:12:12'

    datetime            YYYY-mm-dd HH:ii:ss 0值为0000-00-00 00:00:00

    timestamp         YYYY-mm-dd HH:ii:ss  默认不能为空,默认值为当前时间,当对应记录数据被更新时,会自动更新为当前时间

    Years                   YYYY 1900-2155 有两种插入方式:0-99 【69以下对应20xx,70以上包括70会变成19xx】  和四位数年份

    四.字符串类型

    char:定长,系统会分配空间,char(L),L字符数,0-255【查询效率比varchar高 】

    varchar:变长,根据实际存储的数据来确定长度 varchar(L)L:0-65535,每个数据生成后,会在之后,增加1-2个字节【0-127,一个字节,>127用两个字节来保存长度】

    text:文本类型,存储字符文本【blob存储二进制文本,但是一般不会用来存储文本本身而是存储文本链接】 

    是加上系统中有四种text

    tinytext:2^8+1

    text:2^16+2

    mediumtext:2^24+3

    longtext:四个字节,字符数2^32+4

    注意:

    1.选择储存文本的时候,系统会自动根据存储长度选择合适的文本

    2.超过255个字符是,用text不要用varchar

    enum:枚举类型,选定确定的几个字段

    语法:

    enum(数值1,数值2……)

    系统提供1-2个字节保存枚举数据0-255用一个字节,255-65535用两个字节,所以最多有65535个,字段上所存的值是每个元素的下标,从1开始。【mysql会自动进行 类型转换,=-*/会自动判断,字符串为0】所以可以用数字来进行插入

    插入数据必须是设定范围

    set:将多个数据选项同时保存的数据类型,将制定发项按照对应的二进制位进行控制:1表示被选中,0表示未被选中

    语法:set(值1,值2……)

    1个字节,set只能有8个选项

    2个字节,set只能有16个选项

    ……以此类推

    set可以同时插入多个:

            insert into 表名 values(‘值1,值2’)这样就插入多个

    set和enum一样存储到数据库中仍然是数字

    数据如果被选中,对应的数据就为1,否则为0

    相关文章

      网友评论

          本文标题:MySQL--数据类型

          本文链接:https://www.haomeiwen.com/subject/biqdkqtx.html