mysql数据类型

mysql列类型(数据类型)
    [用的多用👾标志]

        数值类型
    bit(M)[M可以指定范围1~64 默认为1]
    tinyint[1个字节]【有符号是-128~127 无符号即是0~255 默认有符号】
    smallint[2个字节]
    mediumint[3个字节]
    int [4个字节]👾
    bigint[8个字节]

        小数类型
    float[单精度 4个字节]
    double[双精度 8个字节]👾
    decimal[M长度,D小数点精确个数] (不确定大小)👾

        文本类型(字符串类型)
    char(size) [0-255]👾
    varchar(size) [0-65535]即(0~2^16-1)0~二的十六次方 -1👾
    text[0~2^16-1](与varchar等价)👾
    longtext[ 0 ~ 2^32 -1]

        二进制数据存放(不多)
    blob[0~2^16-1]
    longblob[0~2^32-1]

        日期类型
    date[日期类型 年月日]3字节
    time[时间 时分秒]3字节
    datetime[年月日时分秒 YYYY-MM-DD HH:mm:ss] 8字节👾
    timestamp[表示时间戳,可自动更新,用于自动记录insert、update操作时间]3字节👾
    year[存放年]1字节


使用规范 :在能满足需求的情况下,尽量选择占空间小的类型
     如果没有指定 unsinged 则 该字段是有符号的【tinyint -128~127】
    如果指定 unsinged 则 该字段是没有符号的【tinyint 0~255】


bit(m) 1<m<64 范围按照给的位数来确定 m=8 表示一个字节=0~255(0~2^8-1)
输出到表是二进制写法
查询时仍然可以用数字来查询
01的数据存储适合使用
create table t1(num bit(8))


数值型(小数)
    float/double[unsigned]分有无符号
    decimal[M小数位数(精度)的总数,D小数点(表数)后的位数] 
    decimal可以存放超大的数 比bigint还大
      D=0 则没有小数部分 即是一个整数
      M最大为65 D最大为30 
      如果省略D 默认为0 
      省略M 默认为10


字符串基本使用
    char(size)
            size固定长度字符串 最大255字符 不是字节数 不管中英文都是4个 按字符计算
            就是 插入'aa'  但是分配了4字符 那么就会占用4字符空间
    varchar(size)
            size 可变 长度字符串 最大65535字节 不是字节数 不管中英文都是4个 
             就是 插入'aa'  但是分配了4字符 那么就只会占用 'aa' 的 2 字符空间 不会造成空间浪费
             varchar本身还需要1~3字节来记录存放内容的长度 
              即varchar真实占用的空间是 L (数据实际大小) + (1~3)字节
            按照固定好的编码来存放数据 计算方式如下 ↓
            可变长度字符串 最大65535字节【utf8编码最大21844字符 1~3个字节用于记录大小】
            21844字符=[65535-3(用于记录字段大小 不可用) ]/3(1字符=3字节)
           [gbk编码是2字节=1字符 即 (65535-3)/2] 字段类型 charset gbk
    char查询速度比varchar快

时间类型
    timestamp 时间戳
    t3 timestamp not null default current_timestamp on update current_timestamp
    时间戳语句↑    不为空         默认当前时间                       修改时自动以当前时间更新
    如果更新该表某条记录 t3列会自动以当前时间进行更新
    [弹幕:只更新对应位置的时间戳,不是整个logintime列的所有时间戳]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值