MySQL学习之旅第六天

1. 列类型

1.字符串型
1. char:定长字符(指定长度之后,系统一定会分配指定的空间用于存储数据)

基本语法:char(L)
L:代表字符数(中文和英文字母一样),L长度为 0~255

2. varchar:变长字符(指定长度之后,系统会根据实际存储的数据来计算长度,分配合适的长度(数据没有超出长度))

基本语法:varchar(L)
L的理论值为 0~65535
因为varchar要记录数据长度(系统根据数据长度自动分配空间),所以每个varchar数据产生后,系统都会在数据后面产生1~2个字节的额外开销:是用来保存数据所占用的空间长度,如果数据本身小于127个字符:额外开销1个字节;如果大于127个,就开销2个字节

char和varchar的区别:

1.char一定会使用指定的空间,varchar是根据数据来定空间
2.char的数据查询效率比varchar高:varchar需要通过后面的记录数计算
3.如果数据定长,使用char类型,如果不确定,使用varchar

3. text:存储普通的字符文本

text分为:tinytext,text,mediumtext,longtext
注:
1. 在选择对应的存储的时候不用刻意选择text类型,系统会自动根据存储的长度来选择合适的文本类型
2.在选择字符存储的时候,如果数据超过255个字符,那么一定选择text存储

blob:存储二进制文本(图片,文件),一般不会用blob存储文件本身,通常使用链接指向对应的文件本身(节省空间)

4. enum

枚举类型:在数据插入之前,先设定几个项,这几个项就是可能最终出现的数据结果
基本语法:enum(数据值1,数据值2......)
系统提供了1~2个字节来存储枚举:通过计算enum中列举的具体值来选择实际的存储空间:如果数据值列表在255个以内,那么一个字节就够,如果超过255小于65535,系统采用2个字节保存
enum可以规范数据,能保证插入数据在规定范围内
实际枚举存储的是数值,在进行数据插入时可以插入对应的数字

枚举的意义:

  1. 规范数据本身
  2. 节省存储空间
5. set

集合类型:是一种将多个数据选项可以同时保存的数据类型,本质是将制定的项按照对应的二进制位来进行控制:1表示该选项被选中,0表示未被选中
基本语法:set('值1','值2','值3'......)
系统为set提供多个字节进行保存,但是系统会自动计算来选择具体的存储单元
注:

  1. set和enum相同,存储到数据字段中的依然是数字而不是真实的字符串
  2. 系统将对应的数据选项(设计)按照顺序进行编排,从第一个开始占位,每一个都对应一个二进制
  3. 数据在存储的时候如果被选中,对应的值为1,否则为0
  4. 系统在进行存储的时候会自动将对应的二进制颠倒,转化为对应的十进制存储
以数值方式查看字段:

select 字段名 + 0 from 表名

set意义:

  1. 规范数据
  2. 节省存储空间
enum和set区别:

enum:单选框
set:多选框

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值