【MySQL】:数据类型

数据类型

  • 一.数值类型
    • 1.整数
      • 1.tinyint
      • 2.bit类型
    • 2.浮点类型
      • 1.float
      • 2.decimal
  • 二.字符串类型
    • 1.char类型
    • 2.varchar类型
    • 3.char和varchar的区别
    • 4.日期和时间类型
    • 5.enum和set
  • 三.集合查询

在这里插入图片描述

一.数值类型

1.整数

在这里插入图片描述

1.tinyint

在这里插入图片描述

正常插入

在这里插入图片描述

越界插入

在这里插入图片描述

如果我们向mysql特定的类型中插入不合法的数据,MySQL一般都是直接拦截我们,不让我们做对应的操作!

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.bit类型

bit[(M)] : 位字段类型。M表示每个值的位数,范围从1到64。如果M被忽略,默认为1。

在这里插入图片描述

这是因为bit字段在显示时,是按照ASCII码对应的值显示。

在这里插入图片描述

如果我们有这样的值,只存放0或1,这时可以定义bit(1)。这样可以节省空间。

2.浮点类型

1.float

float[(m, d)] [unsigned] : M指定显示长度,d指定小数位数,占用空间4个字节。

例子

小数:float(4,2)表示的范围是-99.99 ~ 99.99,MySQL在保存值时会进行四舍五入。

在这里插入图片描述

注意:float取无符号就是去掉负数。

2.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表示的精度不一样。

在这里插入图片描述

可以看到decimal其实更加准确,float表示的精度大约是7位。

decimal整数最大位数m为65。支持小数最大位数d是30。如果d被省略,默认为0.如果m被省略,默认是10。

二.字符串类型

1.char类型

char(L): 固定长度字符串,L是可以存储的长度,单位为字符,最大长度值可以为255。

在这里插入图片描述

在这里插入图片描述

在UTF8里虽然一个汉字是3个字节,但在mysql里仍被解释为一个字符。

2.varchar类型

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

在这里插入图片描述

说明:

关于varchar(len),len到底是多大,这个len值,和表的编码密切相关(注意len代表的是上限,并非一定开len个空间):
1.varchar长度可以指定为0到65535之间的值,但是有1 - 3 个字节用于记录数据大小,所以说有效字节数是65532。
2.当我们的表的编码是utf8时,varchar(n)的参数n最大值是65532/3=21844[因为utf中,一个字符占用3个字节,如果编码是gbk,varchar(n)的参数n最大是65532/2=32766(因为gbk中,一个字符占用2字节)。

3.char和varchar的区别

在这里插入图片描述

4.日期和时间类型

在这里插入图片描述

在这里插入图片描述

可以发现t3我们根本没有进行插入,但它自动生成了,也就是说时间戳是自动生成的。

5.enum和set

在这里插入图片描述

简而言之enum相当于单选,set相当于多选。

一般使用

在这里插入图片描述

枚举类型不仅可以写枚举常量,也可以写它的下标。

在这里插入图片描述

同样set也能用数字表示,但是它是按照比特位表示的。例如0001->登山,0010->游泳,0011->登山,游泳。

在这里插入图片描述

三.集合查询

按性别筛选

在这里插入图片描述

如果我们要筛选爱好里有武术的怎么做呢?这就需要find_ in_ set函数了。它会查找含有该子集的集合。

find_in_set(sub,str_list) :如果 sub 在 str_list 中,则返回下标;如果不在,返回0;str_list 用逗号分隔的字符串。

在这里插入图片描述

如果要求爱好里有登山和游泳呢?

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/223087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity Mono加密解决方案

Unity Mono 是 Unity 引擎默认的脚本运行时环境,在游戏开发中扮演着重要的角色。Mono 由跨平台的开源 .NET 框架实现,它允许开发者使用 C# 等编程语言编写游戏逻辑。凭借简单易用的开发环境和高效的脚本编译速度,得到了众多游戏的青睐。 在 …

【Maven教程】(十二):版本管理 ——版本号定义约定及相关概念,自动化版本发布与创建分支,GPG签名 ~

Maven 版本管理 1️⃣ 版本管理的概念2️⃣ Maven 的版本号定义约定3️⃣ 主干、标签与分支4️⃣ 自动化版本发布5️⃣ 自动化创建分支6️⃣ GPG签名6.1 GPG 及其基本使用6.2 Maven GPG Plugin 🌾 总结 一个健康的项目通常有一个长期、合理的版本演变过程。例如JUn…

win10 + vs2017 + cmake3.17编译OSG-3.4.1

1. 下载文件 主要用到4个文件 1)OSG-3.4.1源码2)OSG第三方依赖库3)OSG示例数据4)cmake-3.17 我已经准备好了,大家可以自行下载。下载路径: 链接:https://pan.baidu.com/s/1E3YESh0T9KPlJJe2…

利用Python+selenium技术,实现浏览器基本操作详解,代码有详细注释

首先,需要安装selenium库和对应的浏览器驱动程序。以Chrome浏览器为例,可以使用以下命令安装selenium和chromedriver: pip install selenium然后,需要下载对应版本的chromedriver,并将其添加到环境变量中。下载地址&a…

代码随想录二刷 |二叉树 |144.二叉树的前序遍历

代码随想录二刷 |二叉树 |144.二叉树的前序遍历 题目描述解题思路代码实现递归法迭代法 题目描述 144.二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输…

godot 报错Unable to initialize Vulkan video driver解决

版本 godot 4.2.1 现象 godot4.2.1 默认使用vulkan驱动,如果再不支持vulkan驱动的主机上,进入引擎编辑器将报错如下 解决 启动参数添加 –rendering-driver opengl3 即可进入引擎编辑器 此时运行项目仍然会报错无法初始化驱动 在项目设置中配置编…

vue实现公式编辑器组件

实现方式一 1、效果图 2、实现代码 组件弹框实现 样式自己调整 公式的数字与汉字元素、符号 建立元素表 动态获取 完整代码&#xff08;calculate.vue&#xff09; <template><div id"formulaPage"><divref"formulaView"class"f…

记录今日将C语言的Windows程序更改为python语言Windows程序,实现子窗口控制,类似微信程序框架最简单的原型

基本思路 为什么要选择python制作Windows应用程序&#xff0c;主要就是源代码直接展示&#xff0c;发现问题随时修改&#xff0c;同时可以不断增加新的功能方便。 由于C语言的Windows程序中结构类型在python中不能使用&#xff0c; 因此我们按照ctypes模块指导意见继承structu…

Verilog自学还是报班?

FPGA作为国内领先的芯片产品&#xff0c;和传统芯片相比并不局限于单纯的研究和设计芯片&#xff0c;而是针对多种领域的产品通过特定的芯片模型进行优化设计。FPGA本身也构成了典型的半定制电路&#xff0c;涵盖了数字管理模块、输入、输出等单元。 FPGA最大的特点是可以在同…

Unity_C#中使用protobuf

Unity_C#中使用protobuf 下载官方protobuf地址&#xff1a; https://github.com/protocolbuffers/protobuf/releaseshttps://links.jianshu.com/go?tohttps%3A%2F%2Fgithub.com%2Fprotocolbuffers%2Fprotobuf%2Freleases protobuf-c#源码生成dll&#xff0c;导入unity 1.…

双向无线功率传输系统MATLAB仿真

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介&#xff1a; 初级侧转换器通过双向 AC/DC 转换器从电网获取电力&#xff0c;并由直流线电压 Vin 供电&#xff0c;而拾波侧被视为连接到 EV&#xff0c;并由连接到任一存储的单独直流源 Vout 表示或…

N26:构建无缝体验的平台工程之路-Part 2

​ 在第一​​​​​​部分&#xff0c;我们介绍了 N26 团队为达成 “在 Day 1 实现轻松部署” 的目标而设定的战略规划和开发人员体验图&#xff0c;在这一部分&#xff0c;我们将带您了解该团队如何构建最简可行平台以及该平台如何运作。 01 计划构建最简可行平台 我们通…

高通开发系列 - 功耗问题之添加CPU Idle和Hotplug的功能

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 返回:专栏总目录 目录 概述CPU IdleCPU TopologyCPU Idle DriverCPU Idle GovernorCPU的hotplug函数

TCP/UDP 协议

目录 一.TCP协议 1.介绍 2.报文格式 ​编辑 确认号 控制位 窗口大小 3.TCP特性 二.TCP协议的三次握手 1.tcp 三次握手的过程 三.四次挥手 2.有限状态机 四.tcp协议和udp协议的区别 五.udp协议 UDP特性 六.telnet协议 一.TCP协议 1.介绍 TCP&#xff08;Transm…

DBCA创建RAC的过程截图

以下错误是由于配置的内存较大&#xff0c;而大页&#xff08;HugePage&#xff09;配置较小导致&#xff0c;调整大页后就好了。

Kafka基础理论与常用命令详解(超详细)

文章目录 前言一、Kafka概述1. Kafka简介2. Kafka架构2.1 Broker&#xff08;代理服务器&#xff09;2.2 Topic&#xff08;主题&#xff09;2.3 Producer&#xff08;生产者&#xff09;2.4 Consumer&#xff08;消费者&#xff09;2.5 Consumer Group&#xff08;消费者组&am…

Centos硬盘操作合集

一、硬盘命令说明 lsblk 列出系统上的所有磁盘列表 查看磁盘列表 参数意义 blkid 列出硬盘UUID [rootzs ~]# blkid /dev/sda1: UUID"77dcd110-dad6-45b8-97d4-fa592dc56d07" TYPE"xfs" /dev/sda2: UUID"oDT0oD-LCIJ-Xh7r-lBfd-axLD-DRiN-Twa…

Mybatis详解

MyBatis是什么 MyBatis是一个持久层框架&#xff0c;用于简化数据库操作的开发。它通过将SQL语句和Java方法进行映射&#xff0c;实现了数据库操作的解耦和简化。以下是MyBatis的优点和缺点&#xff1a; 优点&#xff1a; 1. 灵活性&#xff1a;MyBatis允许开发人员编写原生的…

如何正确使用缓存来提升系统性能

文章目录 引言什么时候适合加缓存&#xff1f;示例1示例2&#xff1a;示例3&#xff1a; 缓存应该怎么配置&#xff1f;数据分布**缓存容量大小&#xff1a;**数据淘汰策略 缓存的副作用总结 引言 在上一篇文章IO密集型服务提升性能的三种方法中&#xff0c;我们提到了三种优化…