MYSQL进阶02

news2024/12/28 4:02:49

MYSQL进阶02

  • 数据类型
    • char与varchar
    • text与blob
    • 浮点数与定点数
    • 日期类型的选择

数据类型

char与varchar

char和varchar类型类似,都用来存储字符串,但是他们保存和检索的方式不同。char属于固定长度的字符类型,而varchar属于可变长度的字符类型。

char是一种固定长度的字符串类型。当定义一个char类型的列时,需要指定该列所能存储的字符数,例如char(10)代表该列可以存储10个字符。如果存储的字符数小于指定的长度,则会在后面自动补齐空格。由于char类型是固定长度的,所以它在存储时会占用完整的指定长度的存储空间。如果存储的数据长度小于指定长度,那么剩余的空间将浪费。

varchar是一种可变长度的字符串类型。当定义一个varchar类型的列时,也需要指定该列所能存储的字符数,例如varchar(10)代表该列可以存储最多10个字符。与char不同,当存储的数据长度小于指定长度时,它不会自动补齐空格,而是只占用实际存储数据所需的存储空间。因此,varchar类型可以更加节省存储空间,但在查询时可能会比char类型稍微慢一些。
使用对比图
在这里插入图片描述

text与blob

一般在保存少量字符串的时候,我们会选择char或者varchar;而在保存数据量较大的文本时,通常会选择text和blob。二者之间的主要差别就是blob可以用来保存二进制数据,比如照片;而text只能保存字符数据。text和blob中有分为text,mediumtext,longtext和blog,mediunblob,longblob,三种不同的类型,他们之间的主要区别就是存储文本长度和储存字节不同。
注意:

  • blob和text值会引起一些性能问题,特别是在执行了大量的删除操作的时候。
    删除操作会在数据表中留下很大的空洞,以后填入这些空洞的数据性能上会有所降低,将以定期使用optimize table功能对这些表进行碎片整理。

在这里插入图片描述

  • 可以使用组合索引来提高大文本字段的查询性能。
  • 在不必要的时候尽量避免检索大型的blob或者text值。
  • 把blob和text返利到单独的表中。

浮点数与定点数

浮点数一般用于表示含有小数部分的数值。当一个字段被定义为浮点类型后,如果插入的精度超过该列定义的实际精度,则插入的值会被四舍五入到实际定义的精度,然后插入,四舍五入的过程不会报错。在MYSQL中使用float,double来表示浮点数。
定点数不同于浮点数,定点数是以字符串的形式存放的,所以定点数可以更精确的保存数据。如果实际插入的数值精度大于实际定义的精度,则MYSQL会进行警告,但是数据按照实际的精度四舍五入后插入;但是如果数据模式在传统模式下就会直接报错。

日期类型的选择

MYSQL提供的日期类型包括date,time,datetime,timestamp,以下是他们的选择原则:
在这里插入图片描述

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

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

相关文章

JavaWeb学习--RequestResponse

目录 JavaWeb学习--Request&Response 1,Request和Response的概述 request:获取请求数据 response:设置响应数据 **小结** 2,Request对象 **小结** 2.2 Request获取请求数据 **小结** 2.4 请求参数中文乱码问题 URL编码 2.5 Request请求转…

c提高学习——选择排序算法

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h>//选择排序 void mySort(int arr[], int len) {for (int i 0; i < len; i){//认定i是最小值的下标int min i;for (int j i1; j < len; j){if (arr[min…

ABTEST平台建设思路与方案

导读 ABTest的作用&#xff1a; 用ABTEST的结果数据&#xff0c;论证是因为某个业务方案的调整&#xff0c;对产品能力的影响。ABTEST是一个过程&#xff0c;只是为了证明改动的效果&#xff0c;其最终的阶段一定是对某个方案进行推全结束实验&#xff0c;避免稳定的业务流程…

STM32的位带操作

STM32的位带操作 为什么需要位带操作&#xff1f; 因为编程需要操作某个bit位来达到我们想要的功能&#xff0c;比如点灯需要操作GPIOA->ODR 的某个bit假设是第2bit&#xff0c;写1就可以让GPIO输出一个高电平。 GPIOA->ODR | 1<<2;这样写其实有三个隐含的操作…

SpringSecurity-从入门到精通

SpringSecurity从入门到精通 一、简介1.1 官网介绍1.2 认证与授权 二、使用步骤2.1 快速入门2.2 认证流程2.3 相关概念 三、解决问题3.1 思路分析3.2 准备工作3.3 具体实现3.4 加密存储3.5 登录接口3.6 认证过滤器 一、简介 1.1 官网介绍 SpringSecurity 是一个强大且高度自定…

Stable Diffusion-生式AI的新范式

! 扩散模型&#xff08;Stable Diffusion)现在是生成图像的首选模型。由于扩散模型允许我们以提示( prompts)为条件生成图像&#xff0c;我们可以生成我们所选择的图像。在这些文本条件的扩散模型中&#xff0c;稳定扩散模型由于其开源性而最为著名。 在这篇文章中&#xff0…

通用智能的瓶颈及可能的解决途径

通用智能是指能够在各种不同的任务和环境中灵活地适应和执行任务的智能。通用智能与特定任务的智能相反&#xff0c;后者只能在特定领域或任务中表现出色。通用智能的理论基础是人工智能领域的通用人工智能&#xff08;AGI&#xff09;研究&#xff0c;旨在设计出能够像人类一样…

【Java笔试强训 5】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 一、选择题 二、编程题 &#x1f525;统计回文…

Zynq-7000、FMQL45T900的GPIO控制(三)---linux管脚编号计算

本文主要对在Linux下使用zynq-7000或者FMQL45T900控制MIO/EMIO 首先内核配置项 如下&#xff0c;这个不用太多关注&#xff0c;一般都是默认打开的 CONFIG_GPIO_SYSFSy CONFIG_SYSVIPCy CONFIG_GPIO_ZYNQy两者的控制都是流程都是一样的&#xff0c;在细节上又区别 首先都在…

Go | 一分钟掌握Go | 9 - 通道

作者&#xff1a;Mars酱 声明&#xff1a;本文章由Mars酱编写&#xff0c;部分内容来源于网络&#xff0c;如有疑问请联系本人。 转载&#xff1a;欢迎转载&#xff0c;转载前先请联系我&#xff01; 前言 在Java中&#xff0c;多线程之间的通信方式有哪些&#xff1f;记得吗&…

浪潮之巅 OpenAI有可能是历史上第一个10万亿美元的公司

淘金时代很像 如果你那个时候去加州淘金&#xff0c;一大堆人会死掉&#xff0c;但是卖勺子的人、卖铲子的人永远可以赚钱。所谓的shove and pick business。 大模型是平台型机会。按照我们几天的判断&#xff0c;以模型为先的平台&#xff0c;将比以信息为先的平台体量更大。…

带你深入学习k8s--(四) 控制器(k8s核心)

目录 一、概念 1、什么是控制器 2、控制器执行流程 3、控制器类型 二、控制器的使用 1、ReplicaSet 2、Deployment 1、版本迭代 2、回滚 3、修改滚动更新策略 4、暂停与恢复 3、daemonset 4、job 5、cronjob 前言&#xff1a; 上一章我们说到&#xff0c;pod有…

C++——入门基础知识

0.关注博主有更多知识 C知识合集 目录 1.命名空间 1.1命名空间的定义 1.2命名空间的使用 1.3命名空间定义的补充 2.输入与输出 3.缺省参数 3.1全缺省参数 3.2半缺省参数 3.3缺省参数的补充 4.函数重载 4.1C为什么支持函数重载&#xff1f; &#xff15;.引用 5.…

Wine运行器3.2.1——Windows虚拟机模块支持非X86架构

不写太多啥了&#xff0c;详细介绍看这里就行&#xff1a;https://bbs.deepin.org/post/248098 更新内容 ※1、Windows 虚拟机安装工具支持非 X86 架构&#xff1b; ※2、应用打包器可以与星火应用商店配合构建 arm/all 全架构的 Wine 包&#xff1b; ※3、Windows 虚拟机安装…

【MATLAB图像处理实用案例详解(12)】——基于纹理特征的指纹识别方法

目录 一、指纹图像预处理1.1 图像对比度增强1.2 图像二值化1.3 图像滤波 二、指纹图像特征提取 指纹识别系统主要涉及4个步骤&#xff1a;指纹图像采集、图像预处理、特征提取、特征匹配。一开始&#xff0c;通过指纹读取设备取得图像&#xff0c;并对原始图像进行初步处理&…

《斯坦福数据挖掘教程·第三版》读书笔记(英文版) Chapter 2 MapReduce and the New Software Stack

来源&#xff1a;《斯坦福数据挖掘教程第三版》对应的公开英文书和PPT Chapter 2 MapReduce and the New Software Stack Computing cluster means large collections of commodity hardware, including conventional processors (“compute nodes”) connected by Ethernet …

学习HCIP的day.03

目录 OSPF&#xff1a;开放式最短路径优先协议 OSPF的数据包 -- 5种 OSPF的状态机 OSPF的工作过程 OSPF的基础配置 关于OSPF协议从邻居建立成为邻接的条件 OSPF的接口网络类型 OSPF&#xff1a;开放式最短路径优先协议 无类别链路状态型IGP协议&#xff1b;由于其基于拓…

golang Gin实现websocket

golang使用 Gin实现 websocket&#xff0c;这里笔者重新搭建一个项目 1、创建项目安装依赖 项目名为 go-gin-websocket 在指定文件夹下&#xff0c;新建项目文件夹 go-gin-websocket 进入项目文件夹&#xff0c;打开cmd窗口&#xff0c;在项目&#xff08;go-gin-websocket&a…

【Git 入门教程】第九节、Git的最佳实践

Git是一个强大的版本控制系统&#xff0c;可以帮助开发者管理和协调代码库。然而&#xff0c;正确使用Git并不总是容易。本文将介绍一些Git的最佳实践&#xff0c;以帮助开发者更好地利用Git来管理和协调代码库。 一、编写有意义的提交信息 在使用Git时&#xff0c;编写有意义…

Python编程IDE的选择

Python环境安装之后&#xff0c;接下来就是选择编写Python程序的编辑器了&#xff0c;这里就给大家推荐几种Python编辑器&#xff0c;我们简称这些编辑器为IDE。好的编程IDE可以提高编写代码效率&#xff0c;那咱话不多说&#xff0c;直接开始推荐&#xff01; IDLE 首先&…