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

MySQL-4数据类型

作者: 金克拉拉拉拉 | 来源:发表于2017-11-21 17:50 被阅读0次

    1.数据类型(列类型)

    所谓的数据类型,既对数据进行统一的分类,从系统的角度触发为了能够使用统一的方式进行管理,更好的利用有限的空间

    具体分位下述几大类

    数字:int ,decimal(浮点数,需要指定总共有多少位和小数有多少位)

    decimal(5,2) 共5位 小数点两位

    字符串:char varchar text (char varchar 都是有限长度的字符串 需要指定最长字符,其中varchar 为可变字符串,init时 需要指定长度 ,text 为未知长度文本)

    其中  char(8) 不足8个字符时 在右侧以空格补齐 'abcd    '

    varchar(8)不补空格 'abcd'

    日期:datetime

    布尔:bit

    --1.整数型

    5种整数型 创建包含4种int类型的表 类型错误

    SQL中的数据类型全部都是默认有符号,有时候需要使用无符号数据,需要给数据类型限定无符号,xxxx unsigned 无符号 从0起始

    alter table king_int add int_5 tinyint unsigned; insert king_int values (127,1000,10000,100000,255);

    --2.小数型     带有小数点或者范围超出整形的数值类型

    在 SQL中 将小数型分为 浮点型和顶点型,

    浮点型,精度有限,且会丢失精度,

    定点型,精度固定,不会丢失精度

    浮点型,是一种精度型数据,超出指定范围之后,会自动四舍五入,丢失精度

    浮点型分为float单精度,double双精度

    float 直接使用,表示没有小数部分,float(M,D) 其中,M表示总长度,D表示小数部分长度,整数部分长度为M-D

    创建浮点数类型表 插入数据测试

    浮点型数据的插入,整数部分是不能超出长度的,但是小数部分可以超出长度(系统会自动四舍五入)

    整数部分不能超出长度 浮点数超出精度 一定会四舍五入,浮点数如果是因为系统仅为导致整数部分超出指定的长度,那么系统也允许成立

    定点型 绝对的保证整数部分不会被四舍五入(不会丢失精度)小数部分有可能(理论小数分也不会丢失精度)

    小数超出

    --3.时间日期类型

    时间日期类型 创建时间日期表

    插入数据

    time 可以是负数 year 可以使用2位数插入,也可以使用4位数

    各种插入时间所得到的结果

    其中 timestamp 类型 只要当前所在的记录被更新,该字段一定会更新成当前时间

    其中 timestamp 类型 只要当前所在的记录被更新,该字段一定会更新成当前时间

    --4.字符串

    在SQL中,将字符串分为 char varchar text,blob,enum,set 六类

    定长字符串 char 磁盘在定义结构时,就已经确定了最终的存储长度 char(length) 其中length位存储长度,单位为字符,最大长度值可以为255

    例如 char(4)在utf8环境下,需要4*3 = 12字节

    变长字符串 varchar 在分配空间的时候,按照最大的空间分配,但是实际上是根据具体数据确定实际使用空间

    varchar (L)理论上长度是65536个字符,但是会用1到2个字节来表示存储的实际长度,既超过255 字符 需要用2字节表示,小于255字符,需要用1字节表示

    实际情况是如果长度超过255 使用text文本类型存储

    例如 varchar(10) utf8下存储10汉字 既3*10+1 = 31字节

    定长于变长在utf8下存储相同内容的实际存储空间

    --5.枚举字符串

    定义 enum(可能出现的元素列表);

    例如 :

    enum('男','女');

    创建枚举类型数据

    枚举可以防止数据超出约定范围

    判断字段类型技巧 enum实际从1开始编号

    --6.集合字符串

    set(元素列表) 

    创建set

    插入数据可以使用多个元素字符串组合,也可以直接插入数值

    直接插入一条set

    而在集合中 每一个元素都是对应一个二进制位 选中为1未选中为0

    所以直接插入数值并不是选中数值所对应的元素,而是将数值转换为二进制 ,再根据二进制数值进行选中

    插入三条set 分别为 001 010 011 其中set第一个元素为二进制最后一位 查看集合中元素的真实值

    集合的强大在于规范数据和节省空间

    --7.text类型 占用十个字节长度

    text类型的长度

    相关文章

      网友评论

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

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