MySQL —— 数据类型

一、数值类型

以上表格整理了用来表示数值类型的数据类型,其中,接下来将介绍和展示其中几个类型的使用和各种细节

1.tinyint

越界测试:建立一个包含tinyint类型的表格,插入各中数据去查看结果,并且尝试插入边界数据和越界数据去观察现象

tinyint属于整形类型的其中一个,还有smallint、int、bigint,同样和tinyint的使用方法是一样的,就是空间字节大小不一样,用于各种数据大小不同的场景。

2.bit(N)

基本用法:bit后面加括号,里面可以指定大小比特位的空间大小,若是写,则默认为1

在字段显示时,按照ACSLL码的规则显示

3.float(m,d)

基本使用:m表示有效数字长度,即包括小数位和实数位的数字个数,d表示精确到小数点后几位

小数部分若是给的精度较小,则会自动补0,若是给的精度较大,则会自动采取四舍五入的策略

通常我们可以通过计算m-d,得到实数位置的范围可以是(m-d)位数,但不绝对,有可能出现边界情况,四舍五入后自动进位导致数据超出

测试:

同理,double和decimal的使用方法是一样的,不过精度不同,根据具体情况选择

二、字符串类型

1.char(size)

基本使用:可以指定size大小的字符,注意,这里的字符无论是字母还是汉字,都按字符个数数,而不是字节

2.varchar(size)

用法上和char相同,区别在于varchar的空间使用策略和char不同,char是固定长度大小,开辟多少空间则认为使用了多少空间,而varchar开辟的空间,可以看作为是最大使用上限,而不是实际使用的空间,在需要使用时,才会被真正使用

三、日期和时间类型

1.date

date:日期 'yyyy-mm-dd' ,占用三字节

2.datetime

datetime:时间日期格式 'yyyy-mm-dd HH:ii:ss' 表示范围从1000 到 9999 ,占用八字节

3.timestamp

timestamp:时间戳,从1970年开始的 yyyy-mm-dd HH:ii:ss 格式和datetime 完全一致,占用四字节,每次修改或更新数据时,会自动更新到当前时间

四、枚举类型

1.基本使用

enum('选项一','选项二','选项三','选项四',...)

set('选项一','选项二','选项三','选项四',...)

2.比较enum和set的不同

1.enum是多选一,而set是多选多

2.enum在插入时,可以采用下标的方式插入(从1开始),set在插入时,插入的数字含义不是下标,而是根据比特位中对应位置的0或1去表示(位图)

3.set可以采用逗号的方式,一次性多次插入

4.为了方便筛选,一般有两种方式,一种是严格筛选:

select * from table_name where 字段名称='选项';

另一种则是包含某个选项的所有情况,此时需要用到接口find_in_set

select * from table_name where find_in_set('选项(只能单个)',字段名称);

若是想多个的情况,可以用and去链接(and相当于c里面的&&)

例如:在名为table_name的表中,选出hobby包含篮球和登山的信息

select * from table_name where find_in_set('篮球',hobby) and find_in_set('登山',hobby);

总结

本篇总结了mysql中的各种常见的数据类型和基本使用方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值