365体育网站忽然打不开了

【MySQL】数据类型

【MySQL】数据类型

bit类型(1~64)目前最新版本的mysql以十六进制显示

小数类型 float(4byte)float[(m, d)] [unsigned] : m指定显示“数字总长度”,d指定小数位数,占用空间4个字节

案列:

float(4,2)范围 -99.99 ~ 99.99,MySQL在保存值时四舍五入。float(4,2) unsigned ,范围是 0 ~ 99.99。注意没有扩大float类型当数据范围较大时精度会丢失小数类型 decimaldecimal(m, d) [unsigned] : 定点数m指定“数字总长度长度”,d表示小数点的位数

例如:

decimal(5,2) 表示的范围是 -999.99 ~ 999.99decimal(5,2) unsigned 表示的范围 0 ~ 999.99 # 范围没有扩大decimal的精度更准确比floatdecimal整数最大位数m为65。支持小数最大位数d是30。如果d被省略,默认为0.如果m被省略,默认是10。

字符串类型char(1~255)char(L): 固定长度字符串,L是可以存储的长度,单位为字符

注意:

固定长度理解:当存储的数据小于等于固定长度都会开固定长度的大小的空间

mysql的单位字符就是一个字符单位,一个中文或一个英文单词都是一个字符单位,不是c/c++中的一个字符

varchar(0~65535byte)varchar(L): 可变长度字符串,L表示字符长度,最大长度65535个字节

注意:

单位是字节,utf8下一个中文3字节,gbk下一个中文2字节但是varchar(6),依旧可以存储最大6个字符,6个中文字符也ok!!!varchar长度为0到65535之间的值,但是有1 - 3 个字节用于记录数据大小,有效字节数是65532。表的编码是utf8,varchar(n)的参数n最大值是65532/3=21844,(utf中,一个字符占

用3个字节)编码是gbk,varchar(n)的参数n最大是65532/2=32766 (gbk中,一个字符

占用2字节)char和varchar比较定长的磁盘空间比较浪费,但是效率高。变长的磁盘空间比较节省,但是效率低。定长的意义是,直接开辟好对应的空间变长的意义是,在不超过自定义范围的情况下,用多少,开辟多少。日期和时间类型date :日期 ‘yyyy-mm-dd’ ,占用三字节datetime 时间日期格式 ‘yyyy-mm-dd HH:ii:ss’ 表示范围从 1000 到 9999 ,占用八字节timestamp :时间戳,从1970年开始的 yyyy-mm-dd HH:ii:ss 格式和 datetime 完全一致,占用四字节,时间戳自动补上当前时间,不用对其操作;更新数据,时间戳会更新成当前时间enum(1~65535个)和set(最多64个)enum:枚举,“单选”类型;

enum(‘选项1’,‘选项2’,‘选项3’,…);.最多65535个;添加枚举值时,也可以添加对应的下标数字编号。下标从 1 开始;

set:集合,“多选”类型;

set(‘选项值1’,‘选项值2’,‘选项值3’, …);最多64个。添加集合时,也可以添加对应的位图数字编号。

例如:

create table tb1(

gender enum(‘男’, ‘女’),

hobby set(‘吃’,‘喝’,‘玩’,‘睡’)

);

插入数据:

version2:

集合查询使用find_ in_ set函数:find_in_set(sub,str_list) :如果 sub 在 str_list 中,则返回下标;如果不在,返回0;str_list 用逗号分隔的字符串。

相关推荐