mysql数据类型,数值型、字符型、日期型

常见的数据类型

数值型

整型

分类:

  • tinyint (1)
  • smallint (2)
  • mediumint(3)
  • int/integer(4)
  • bigint(6)

( )里为保存字节数
特点:

  1. 如果不设置无富豪还是有符号,默认有符号,如果想设置无符号,需要添加unsigned关键字
    无符号>=0
    有符号正负均可

例如:

CREATE TABLE tab(
t1 INT UNSIGHED
);

  1. 如果插入数值超出整数范围,会报out of range异常,并插入临界值
  2. 如果不设置长度会有默认长度,长度代表整数显示的宽度,创建时 INT(10) zerofill,表示插入长度为10,小于该宽度时用0填充

unsigned为无符号

小数

定点数
  • DEC(M,D)
浮点数
  • float(M,D),字节为4
  • double(M,D),字节为8
  1. M:整数位数+小数个数,超出则插入临界值
    D:小数点后保留位数,超出则四舍五入
  2. M和D可以省略
    如果是decimal,则M默认为10,D默认为0
    如果是float和double,无默认精度
  3. 定点型的精确度较高,如果要求插入数值的精度较高如货币运算等则考虑使用

字符型

较短

  • char(M)
  • varchar(M)
  1. M为把保存的最大字符数,char中可以省略,默认为1,varchar不可以省略
  2. char为固定长度,varchar为可变长度
  3. char空间耗费较多,varchar较少
  4. char效率高,varchar效率低
  • binary
  • varbinary
    与char和varchar类似,但是他们包含二进制字符串而不包含非二进制字符串
  • enum()枚举类型
    要求插入的值必须属于列表中指定的值之一
    例:enum(‘a’,‘b’)则只能为a或b,大写也包括
  • set()
    与枚举类似,但是可以包含多个指定值,用,连接

较长:text,blob(较长的二进制)

日期型

  • date:只保存日期
  • time:只保存时间
  • year:只保存年份
  • datetime:日期+年份
  • timestamp:日期+年份
  1. datetime范围大【1000-9999】,timestamp范围小【1970-2038】
  2. timestamp与实际时区有关,更能反映实际的日期,而datetime只能反映出插入时的当地时区
  3. timestamp的属性受mysql和sqlmode的影响

显示时区
SHOW VARIABLES LIKE ‘time_zone’;

更改时区
SET time_zone=’+9:00’;

“这世界上的久处不厌都是因为用心”
小徐加油!
最近一直有在考虑未来。
——2021.2.10

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值