卷三:第2篇MySQL 8.20数据类型

1.数据类型:(1)整型:①tinyint(无符号0~255,有符号-128~127)、smallint (0~65535),int(40亿左右)、bigint(8个字节);

②带挂件:自增auto_increment(要求为主键或unique), 插入可以指定字段(但不包含主键,让主键自增),insert into clss(sname) values('软件三班'),sno能自增;

unsigned(无符号)、int(8) zerofill;小于8个字符的后边填充0;

(2)浮点型和顶点型:精度3~4可用float,精度15内可用double,高精度(小数点几十位)decimal(30,20),总长度和小数点位数,用浮点型精度不够会四舍五入差很多;

(3)日期类型:date(年月日)、time(时分秒)、datetime(时间戳,8个字节)、datestamp(用得少,只能用到2038年)、year; mySQL时间函数 select now()(datetime类型)、curdate()(年月日)、select year\month\day ('2022-1-16 20:12:04')解析出年月日; date类型curdate,时间函数解析出时间,向数据库插入时间year(now()),datetime(now()),time(now);

(4)字符类型:char(M),varchar(M)、text(tinytext、text、midtext、bigtext 能存的数目分别1、2、3、4个字节),定长字符且小于256用char,不定长在65535用varchar,一般不知道长度和不修改的(比如address、description)用text(用得少),查询速度char>varchar>text;text和varchar存储区别char不能存末尾字符的空格,可以用拼接比较一下select concat('(',字段,')') from 表查看空格;varchar要1~2个字符存长度;

name varchar(64) default null comment '姓名', #默认空,comment写注释;

(5)枚举enum和集合set,enum一般选择一个,set选择多个(多个爱好),创建create table student(degree enum('本科','研究生'),hobby set('打球','上网') );

(6)二进制类型:binary(M)和varbinary(M)、blob(tinyblob、blob、midblob、bigblob)和bit类

类型;前三个和char、varchar、text差不多,只是按照二进制存字符串,速度可比较,只是binary长度不满足存的是\0(二进制),不是空格,定长255字节用binary,varbinary不定长二进制字符串,按照位串插入insert into bit_example values(b'10101011'  或者 'a')位串插入,前面加b即可;

(7)其他类型:Jason等。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值