目录
1. 整体概要
2. 数值类型
(有符号) tinyint 创建表
进入 test_db数据库中,并创建表t1 ,其内部包含 tinyint类型的num
(无符号) tinyint 创建表
再次创建表,内部包含一个无符号的 tinyint类型的num
所以取值范围为 0 到255
bit类型
bit[M] :位字段类型,M表示每个值的位数,范围从1到64,如果M被忽略,默认为1
float 类型
float [ (m,d) ] [unsigned] : m指定显示长度(数字位数的总个数) d指定小数位数 占用空间4个字节
(无符号)float
mysql支持定义符号的浮点数
decimal
decimal (m,d) [unsigned] : 定点数m指定长度 ,d表示小数点的位数
decimal(5,2) 的取值范围是 -999.99 - 999.99
decimal(5,2)unsigned的取值范围是 0 - 999.99
decimal和float很像,但是有区别:
float 和 decimal 表示的精度不一样
3. 二进制类型
char类型
char(L) : 固定长度字符串,L是可以存储的长度,单位为字符,最大长度值为255
varchar类型
varchar(L) :可变长度字符串,L表示字符串长度,最大长度为65535个字节
4. 日期时间
日期时间类型
常用的日期如下:
date:日期 ‘yyy-mm-dd’ (年月日),占用三个字节
datetime: 时间日期格式 ‘yyyy-mm-dd HH: ii:ss’ (年 日 时 分 秒) 表示范围从1000到9999,占用八个字节
timestamp:时间戳 ,从1970年开始的 yyy-mm-dd HH:ii:ss (年 月 日 时 分 秒) 格式和 datetime 完全一致,占用四个字节
5. string 类型
enum类型和set类型
enum:枚举
enum(‘选项1’,‘选项2’,‘选项3’);
提供若干个选项的值,最终一个单元格中,实际只存储其中一个值
如:问卷调查 性别 只能选男或者女
set :集合
set(‘选项1’,‘选项2’,‘选项3’);
提供若干个选项的值,最终一个单元格中,可存储任意多个值
如:问卷调查 爱好 可以选打羽毛球 乒乓球 篮球等
enum类型和set类型的查找
在枚举中的查找
输入 select * from votes where gender=‘男’;
挑选出votes表中所有男生的信息
输入 select * from votes where gender=‘女’;
挑选出votes表中所有女生的信息
在set中的查找
输入 select * from votes where hobby=‘游泳’;
挑选出votes表中爱好只有游泳的人
有的人爱好是广泛的,其中就包含游泳,但是筛选并不显示
所以需要借助 mysql的筛选函数 —— find_in_set 函数
find_in_set(sub,str,str_list):如果sub在str_list中,则返回下标,如果不在,返回0;
str_list 用逗号分隔的字符串