当前位置: 首页 > web >正文

MySQL知识回顾总结----数据类型

       本章将会讲解MySQL其中常用的4种类型,分别为:整数类型、小数类型、日期类型、枚举类型。内容非常基础,小白一看就会!
 

目录

1 整数类型

  1.1 tinyint,smallint, mediumint,int

  1.2 bit类型

2 小数类型

   2.1 float

    2.1.1 语法

  2.2 decimal

    2.2.1 语法

3 字符串类型

 3.1 char

     3.1.1 基本语法

 3.2 verchar

       3.2.1 语法

       3.2.2 char 与 verchar 比较

4 日期和时间类型

    4.1 日期

     4.2 案例

5. enum 和 set

         5.1语法

         5.1.2 实际操作   

5.3 find_in_set 

   5.3.1 语法


1 整数类型

1.1 tinyint,smallint, mediumint,int

   为 1 字节,分为带符号以及不带符号的类型。 small为2个字节,medium为3字节,int 为4字节,bigint为8字节。

        也都是具有符号与无符号的两种情况,还有一点需要注意的是我们的数据库,在进行插入数据时会有约束的概念,就是约束填写表的程序的人,需要严格遵守一定的规则,如果是超过了数据的规定的最大返回,我们的数据库就不允许你让你插入数据,那么这个就是我们所说的约束的概念。

    下面是一些测试的案例。分别为标准的插入,于查询。最后的图片为约束的方式 ,会提示你相关的报错信息。

1.2 bit类型

    bit(m) :是按照位的方式进行存放的。m 的作用是用来约束插入数据的最大的位数。

其次还有一点非常重的是进行存放的数据是按照 ASCII 码的方式进行显示到我们的屏幕上,以下是它的具体的使用案例。其中可以看到,当我们设置好类型之后,设置为 4 则最大值为 2 的 4 次方 - 1, 然后是使用 ASCII 码的方式打印在屏幕上。

2 小数类型

 2.1 float

    2.1.1 语法

   float(m, d) [unsigned] : m 表示显示的长度, d 表示指定的小数点后面的位数,占用空间为 4 字节,其次对于小数部分会进行四舍五入。

        eg:float(4,2) 是 -99.99 -- 99.99. 如果是无符号的数据类型,是 0 开始到 99.99.

   2.2 decimal

    2.2.1 语法

   decimal(m, d) 范围与 float 相同,这个不在进行重复描述。但是不同的点在于 decimal 对于位数比较多的小数点他的精度更高,看案例即可。

 说明:float 表示的精度为 7 位,而 deciaml 的整数最大位数 m 为 65, d 为 30, m,d 如果省略那么他的默认值分别为10, 0 。 在这个案例当中我都插入了 12.34567899,可以看到其中decimal的精度没有丢失。

3 字符串类型

  3.1 char

    3.1.1 基本语法

     char(L): 表示字符串的可以储存的最大长度为 L。需要注意的是 char 一开始就会开辟好 L 大小的长度。同时单位为字符,最大长度可以为 255.

说明一下:char 是按照字符的方式进行存储,也就意味着无论是 数字,字母,还是汉字都是占一个字符,尽管是字节不同。

   3.2 verchar

       3.2.1 语法

       verchar(L) : 与 char 类似,唯二不同的点在于 verchar 进行动态的开辟内存,当存放的内存空间不够的时候会进行自动扩容,有效的节省空间。最大长度为65535 字节。注意⚠️这个单位是字节,不是字符, 下面谈到的 65535 是字节数,但是 L 仍为字符的个数。

     为了实现可变长度的大小,需要牺牲前几位来存放这个类型的长度大小。  以 utf-8 为例,可以存放的最长的字符个数为 65535 - 3 = 65532, 655323/3 = 21844, 这个它的最大的个数。

         3.2.2 char 与 verchar 比较

        

4 日期和时间类型

    4.1 日期

         date:日期"xxx-yy-zz" ,占用 3 个字节。

         datetime : 时间日期格式"xxx-yy-zz hh:ii:ss"  , 表示范围为:1000, 9999, 占用 8 个字节。

         timestamp: 时间戳,从 1970 开始的时间,显示方式与 datetime 相同。

     4.2 案例

        我的这个timestamp 有点小问题,回头我再修改一下。

5. enum 和 set

         5.1语法

           enum : 枚举类型,后面有选项。但是只能选择一个。

           set : 集合类型,不同点在于可以选择多个。

       两个如果使用数字的方式进行插入或者是查找的话,对于里面的内容是通过位的方式进行标记的比如:"足球"篮球"乒乓球"羽毛球",其中0001, 表示足球0011,表示足球和篮球。

           5.1.2 实际操作   

        案例已将充分体现,不在过多进行描述。

5.3 find_in_set 

   5.3.1 语法

find_in_set(sub, str) 去查看 sub 是不是 str 当中, 如果在返回下标,不在返回 0。

例子:

         以上是对于数据类型的总结。这个文章用于我的学习记录,如果是有其他的错误还请批评指正。如果对你有帮助还请给我点个赞👍👍👍。     

http://www.xdnf.cn/news/20371.html

相关文章:

  • 143. 重排链表
  • 2025.09.05 用队列实现栈 有效的括号 删除字符串中的所有相邻重复项
  • 2025高教社数学建模国赛C题 - NIPT的时点选择与胎儿的异常判定(完整参考论文)
  • MySQL数据库——事务、索引和视图
  • Linux基础指令(入门必备2.0)
  • B.50.10.06-NoSQL数据库与电商应用
  • 深度学习:CNN 模型训练中的学习率调整(基于 PyTorch)
  • nVisual从入门到精通—应用实例
  • 【51单片机8*8点阵显示箭头动画详细注释】2022-12-1
  • vim 常用快捷键汇总
  • 学习 Android (二十) 学习 OpenCV (五)
  • FastVLM-0.5B 模型解析
  • React Hooks UseCallback
  • Docker Registry 实现原理、适用场景、常用操作及搭建详解
  • CRYPT32!CryptMsgUpdate函数分析两次CRYPT32!PkiAsn1Decode的作用
  • Linux之Docker虚拟化技术(四)
  • 解决Vue Canvas组件在高DPR屏幕上的绘制偏移和区域缩放问题
  • Process Explorer 学习笔记(第三章3.2.1):主窗口与进程列表详解
  • 9.5C++作业
  • Ruoyi-vue-plus-5.x第五篇Spring框架核心技术:5.2 Spring Security集成
  • 使用PyTorch构建卷积神经网络(CNN)实现CIFAR-10图像分类
  • 1688 商品详情抓取 API 接口接入秘籍:轻松实现数据获取
  • LeetCode Hot 100 第11天
  • 微前端架构:解构前端巨石应用的艺术
  • 【Android】制造一个ANR并进行简单分析
  • Kotlin中抽象类和开放类
  • 《从报错到运行:STM32G4 工程在 Keil 中的头文件配置与调试实战》
  • CRYPT32!ASN1Dec_SignedDataWithBlobs函数分析之CRYPT32!ASN1Dec_AttributesNC的作用是得到三个证书
  • 垃圾回收算法详解
  • 《sklearn机器学习——回归指标2》