MySQL -- 数据类型
1、数据库的基础数据类型
- TINYINT
- INT
- BIGINT
- FLOAT
- DECIMAL
- CHAR
- VARCHAR
- TEXT
- BLOB
- DATE
- DATETIME
- TIMESTAMP
- SET
- ENUM
2、不同数据类型区别以及作用
1、数值类型
1.1 整数类型
1.1.1 TINYINT
这里我们以TINYINT这个类型为例,解释一下在mysql中整数类型的一些存储规则
首先我们需要知道的是,数据库可以存储各种各样的数据,为了更好地管理数据,就区分出了不同地数据类型,而TINYINT 就是一种数据类型,它的存储大小范围:有符号(-128 ~ 127),无符号(0 ~ 255)
主要用于存储一些小范围的整数,通常是一些状态码。在数据库中创建表存储数据时,同时需要注意不要超过其存储范围,不然就会出现如下情况
在我们创建表时,定义表中元素类型时,例如:TINYINT(3)。3就是表示通常是表示一个显示长度,不过在整数类型中一般可以不作设置,毕竟数字比较小。
1.1.2 BIGINT and INT
这两个数据类型本质上和TINYINT没有什么区别,只是在存储的数据大小上有差异。INT的取值范围为:有符号(-2^31 ~ 2^31-1),无符号(0 ~ 2^32-1)。BIGINT的取值范围为:有符号(-2^63 ~ 2^63-1),无符号(0 ~ 2^64-1)。通常情况下,我们一般使用INT作为存储数据类型。如果需要设定无符号数,我们只需要在创建表的时候,在对应变量的后面加上unsigned 即可。1.2 浮点类型
1.2.1 FLOAT
float对象在创建的时候,通常需要设定总的位数和精度,也就是float(M,D)。D一般表示小数点后的位数,M一般表示整个数的位数。
在float类型被创建时,一般需要给出精度,否则就按默认精度设定,一般在小数点后六七位左右。而如果我们设定了精度,却多给了几位小数点,那么在存储的时候,数据库会自动四舍五入,例如:float(4,2),然后我要存储的数据是99.345,存储结果就是99.35。如果小数点后的位数过多,数据库则不会让你进行存储。同时,如果进位后的数字超过了规定位数,数据库也不会允许你存储。就比如,float(4,2)-> 99.995,进位后变成100.00,虽然小数点后的精度满足了要求,但是总的位数不满足,这也是不行的。 另外,需要注意的是,这种类型的数据精度并不算高,所以在一些需要高精度的数据时不推荐这种类型的数据进行存储。
1.2.2 DECIMAL
这种数据类型的存储效率比较低,但是存储精度很高,弥补了FLOAT这种数据类型在精度上的不足。其设定精度和范围的方式和FLOAT是一样的,其余用法与功能与FLOAT基本雷同
2、字符类型
2.1 定长与变长字符串类型
2.1.1 CHAR
数据库中的char类型与我们平常敲代码所遇见的char类型有点不同,当我们存储char类型的数据时,我们需要设定规定的字符长度。注意,这里的字符长度和字节还是有很大的区别的,在不同数据库的校验集下,一个字符代表的字节数可能是不同的,例如: 在数据库中(utf8的编码集),我们存储一个汉字所用的字节数为3,在其他的编码集中,会有些许不同。当我们设定存储的数据类型为char (2)此时无论我们存储什么都会被当成一个符号,如果长度超过2,数据会被截断,不足2,在存储时,会自动补成空格,固定占用两个字符所需空间,适用于短字符串的存储。
2.1.2 VARCHAR
varchar和char有一些明显的差异,一个是char为定长字符,无论你是否存储那么多的值,它都会占据这么多空间。而varchar则不同,举个例子: varchar(4),这里表示数据库系统能给你的存储的空间有4个字符,其中如果你只存储了一个或两个字符,那数据库实际存储空间就是一两个字符
为了记录实际存储个数,varchar实际上会专门留1~3字节存储需要存储的字符个数,其中varchar存储的数据上限就是65535个字节,其中实际存储有效数据的字节会比65535少1 ~ 3个字节,用于存储实际存储数据。这种存储方式实际上节省了数据库的存储空间,同时我们也应避免设置过大的存储数据
2.2 文本与大对象(简单介绍)
2.2.1 TEXT
子类型:TINYTEXT(255B)、TEXT(64KB)、MEDIUMTEXT(16MB)、LONGTEXT(4GB)主要用于存储一些大文本数据,比如文章、日志
2.2.2 BLOB
子类型:TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB。主要用于存储二进制数据(如图片、文件)。
3、日期与时间类型
3.1日期与时间类型
3.1.1 DATE
格式:YYYY-MM-DD , 主要用于存储日期,在存储时,需要加入单引号
3.1.1 DATETIME
格式:YYYY-MM-DD HH:MM:SS,范围:1000-01-01 00:00:00 ~ 9999-12-31 23:59:59,用途:记录精确时间(如订单创建时间)。
3.1.1 TIMESTAMP
格式:YYYY-MM-DD HH:MM:SS,范围:1970-01-01 00:00:01 UTC ~ 2038-01-19 03:14:07 UTC。该类型的数据,会自动记录修改时间,也就是变成最近的修改时间
4、枚举与集合类型
4.1 ENUM
数据库中的ENUM类型与我们在C语言中遇见的enum类型有许多的相似之处。首先,在数据库中存储时,我们也可以创建许多的变量字段,例如:ENUM('value1', 'value2', ...)。 后续我们插入的时候,就必须插入改ENUM类型中包含的值而且只能插一个,否则会报错。我们存储的时候也可以用数字来代替enum中的value值,就比如,我们可以使用1, 来代表values 1 , 2 代表values 2 ,依次替代。这是因为底层存储时,数据库系统就是使用数据库对这些数据进行存储(从1开始)。如果后续要新增枚举值,要修改表的结构。
4.2 SET
格式:SET('value1', 'value2', ...),主要用途:允许字段取多个预定义值(如用户权限 SET('read', 'write', 'delete'))。当我们需要存储多个值时,这些值都必须保证是创建表时,预定义了的值,如果需要新增,必须要修改表值。在实际存储过程,系统采用的是位掩码的存储方式。也就是说,我们存储数据时,也可以采用数字的方式来进行输入。例如: set ('values 1' ,'values 2' ,'values 3' )。假设我们需要存储values 1 和 values 3 , 那么对应的掩码就是1 0 1, 也就是5, 此时我们输入5 ,效果也和输入values 1 和 values 3是一样的
相关文章:
MySQL -- 数据类型
1、数据库的基础数据类型 TINYINT INT BIGINT FLOAT DECIMAL CHAR VARCHAR TEXT BLOB DATE DATETIME TIMESTAMP SET ENUM 2、不同数据类型区别以及作用 1、数值类型 1.1 整数类型 1.1.1 TINYINT 这里我们以TINYINT这个类型为例,解释一下在mysql中…...
TypeScript 中 interface 与 type的使用注意事项 及区别详细介绍
interfact 与 type 的区别及使用方法 一、 interfact 与 type主要区别 二、 interfact 与 type具体用法 1. 定义对象类型 interface 的典型用法: interface Person {name: string;age: number;greet(): void; }type 的等效定义: type Person {name…...
使用位运算如何找到数组中只出现一次的数?
题目链接:137. 只出现一次的数字 II - 力扣(LeetCode) 算法解析 位运算是用于二进制的运算符号。而对于多次出现的数字,其二进制都是一模一样的,这里是3次重复的出现是数字。由此我们可以想到,如果我们由低…...
复变函数摘记1
复变函数摘记1 1. 基本概念1.1 复数、复变函数1.2 复变函数的极限、连续性1.3 复变函数的导数、微分1.4 解析函数、柯西-黎曼方程 2. 复变函数的积分2.1 复变函数的曲线积分2.2 柯西-古萨基本定理、复合闭路定理2.3 复变函数的不定积分2.4 柯西积分公式、高阶导数 \quad 本文摘…...
(2025|ICLR|厦大华为,LoSA,基于表示互信息的动态层级稀疏率,基于重构误差的秩分配)LLM 的动态低秩稀疏自适应
Dynamic Low-Rank Sparse Adaptation for Large Language Models 目录 1. 引言 1.1 关键词 2. 方法 2.1 预备知识 2.2 层级稀疏率确定 2.3 稀疏感知的秩分配 2.4 动态稀疏与适配 3. 实验 3.1 实验设置 3.2 语言建模 3.3 零样本任务 3.4 N:M 稀疏性 3.5 消融实验 …...
暨南大学智科人工智能复试模拟
本人初试统招线以外,复试逆袭上岸!!!复试中的笔试和面试尤为重要,笔试固然重要但是面试的不确定性更强。另外,很多同学在复试之前可能都没有完整的走过一遍复试面试的流程,这里建议大家最好是能…...
编译器视角下的 C++ 异常:探究 throw 与 catch 的编译原理
目录 0.写在前面 1.C异常概念 异常的定义: 异常处理的基本组成部分: 1. throw表达式 2. try块 3. catch块 2. 异常的使用 异常的抛出和匹配原则: 在函数调用链中异常栈展开匹配原则: 3.异常的重新抛出 4.异常安全 异…...
测试淘宝评论接口返回数据的详细说明
在电商数据分析、用户体验优化和竞品分析中,获取商品评论数据是一项重要的功能。淘宝开放平台提供了商品评论的 API 接口,允许开发者通过合法的方式获取商品的用户评论数据。本文将详细介绍如何测试淘宝评论接口的返回数据,包括接口调用步骤、…...
【微知】plantuml在泳道图中如何将几个步骤放入一个框中?(group “sub框1“; end !! “sub框1“)
背景 将几个步骤放在一起画个框,分区方便 命令 用法: group 和 end 关键字 用法: group "sub框1"User -> User: 模板渲染User -> User: 返回 HTMLend !! "sub框1" 这里!!是注释实操 修改前: 修改…...
深入解析 React 最新特性:革新、应用与最佳实践
深入解析 React 最新特性:革新、应用与最佳实践 1. 引言 React 作为前端开发的核心技术之一,近年来不断推出 新的 API 和优化机制,从 Concurrent Rendering(并发模式) 到 Server Components(服务器组件&a…...
C语言之数据结构:理解什么是数据结构和算法(启航)
引言 启航篇,理解什么是数据结构和算法 在 C 语言编程领域,数据结构和算法是两个核心且紧密相关的概念 一、数据结构 定义 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合(比如数组),它是组织和存储数…...
【21】单片机编程核心技巧:if语句逻辑与真假判断
【21】单片机编程核心技巧:if语句逻辑与真假判断 七律 条件分野 if语句判真假,括号条件定乾坤。 非零为真零为假,大括号内藏玄门。 省略虽简风险在,代码规范护本根。 单片逻辑由心控,条件分支自成文。 注释…...
hackme靶机通关攻略
第一步:确定靶机IP 第二步:使用御剑后台扫描工具扫描敏感文件 第三步:访问register.php注册登录,进入welcome.php页面 第四步:访问一个不存在的页面,确定网站使用的中间件是Apache(无用…...
网络安全演练有哪些形式
OPENVAS使用 1、确定指定IP是否能ping通 2、创建扫描目标 3、创建扫描任务(scan management →newtask) 4、开始任务start 5、查看扫描细节 6、查看扫描结果,包含漏洞详细信息,亦可到处PDF文件 7、导出扫描结果报告 8、为…...
PE,ELF,COFF
本文来自 (1)腾讯元宝 (2)程序员的自我修养 PE(Portable Executable)是一种文件格式,主要用于Windows操作系统中的可执行文件(如.exe、.dll、.sys等)。PE格式是Windows操作系统中标准的可执行文件格式,由…...
sql靶场-时间盲注(第九、十关)保姆级教程
目录 时间盲注(第九、十关) 1.判断 2.确认时间盲注 2.手工尝试时间盲注 数据库名长度 数据库名字符 表数 表名长度 表名字符 字段数 字段名长度 字段名字符 4.脚本时间盲注注入 5.第十关 时间盲注(第九、十关) 1.判…...
常见FUZZ姿势与工具实战:从未知目录到备份文件漏洞挖掘
本文仅供学习交流使用,严禁用于非法用途。未经授权,禁止对任何网站或系统进行未授权的测试或攻击。因使用本文所述技术造成的任何后果,由使用者自行承担。请严格遵守《网络安全法》及相关法律法规! 目录 本文仅供学习交流使用&am…...
【linux】解决 Linux 系统中 root 用户无法打开图形界面问题
【linux】解决 Linux 系统中 root 用户无法打开图形界面问题 问题描述: 在 Linux 系统中,当我们远程SSH尝试以 root 用户身份运行需要图形界面的应用程序时,可能会遇到以下错误信息: MoTTY X11 proxy: Unsupported authorisati…...
数据库系统概念全面解析
数据库系统可能看起来很抽象,但其实它们就像我们生活中的许多事物一样,有着清晰的结构和规则。让我们通过一些有趣的生活例子来理解这些概念。 一、数据库系统基础 想象一个图书馆: - 数据库管理系统(DBMS) 就像图书馆的管理员 - 数据库(DB…...
unity Rigidbody2D、Collider2D参数详解
Rigidbody2D属性: BodyType:类别Simulated:模拟,是否模拟真实物理效果。Use Auto Mass:使用自动质量,根据BoxCollider2D大小来设定Mass:质量。Linear Drag:影响位置移动的阻力系数An…...
es-索引详解
在 Elasticsearch 中,**索引(Index)**是核心概念之一,类似于关系型数据库中的“表”。索引用于存储、组织和检索文档(Document)。以下是关于 Elasticsearch 索引的详细解析: 1. 索引的基本概念 …...
SpringBoot3+Lombok如何配置logback输出日志到文件
Background/Requirement SpringBoot3Lombok如何配置logback输出日志到文件,因为我需要对这些日志进行输出,控制台输出和文件输出,文件输出是为了更好的作为AuditLog且支持滚动式备份,每天一个文件。 Technical Solution 1.确保你…...
城市客运安全员适合哪几类人报考
城市客运安全员适合以下几类人报考: 相关专业人员:交通工程、安全工程、交通运输管理等相关专业的人员,他们在学校系统学习过交通安全、运输管理、安全管理等方面的知识,具备扎实的理论基础,更容易理解和掌握城市客运…...
Elasticsearch 解析 updateTime 字段时格式错误
遇到的问题: {"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"failed to parse field [updateTime] of type [date] in document with id 57"}],"type":"mapper_parsing…...
Windows远程桌面黑屏怎么办?
在使用Windows远程桌面连接另一台电脑时,用户经常会遇到Windows远程桌面黑屏的问题。那么,该如何有效地解决Windows远程桌面黑屏的问题呢?遇到远程桌面连接黑屏的问题时,可以通过在本地组策略编辑器中禁用WDDM图形显示驱动来解决。…...
计算机视觉|超详细!Meta视觉大模型Segment Anything(SAM)源码解剖
一、引言 在计算机视觉领域,图像分割是一个核心且具有挑战性的任务,旨在将图像中的不同物体或区域进行划分和识别,广泛应用于自动驾驶、医学影像分析、安防监控等领域。Segment Anything Model(SAM)由 Meta AI 实验室…...
【不动产登记全解析】范围、内容与不予登记的情形
在现代经济社会中,不动产作为重要的资产形式,其权利的确立与流转离不开规范的登记制度。今天,我们就来深入探讨不动产登记的三大核心议题:登记的广泛范围、登记簿上的必备记载事项,以及在哪些情况下不动产登记将不会被…...
机器学习之距离度量方法
常见的距离度量方法及相关函数、图示如下: 1. 欧几里得距离(Euclidean Distance) 函数公式:对于两个 ( n ) 维向量 ( x = ( x 1 , x 2 , ⋯ ,...
2340单点修改、区间查询
2340单点修改、区间查询 ⭐️难度:中等 🌟考点:线段树 📖 📚 import java.util.Scanner;public class Main {static int N 100010;static int n;static int[] c new int[N];static int lowbit(int x){ // 求loub…...
Go语言 vs Java语言:核心差异与适用场景解析
在当今的软件开发领域,Go(Golang)和Java都是备受关注的后端开发语言。尽管二者都能构建高性能服务,但它们在设计哲学、语法特性和应用场景上存在显著差异。本文将从多个维度对比这两种语言,帮助开发者更好地理解它们的…...
18 | 实现简洁架构的 Handler 层
提示: 所有体系课见专栏:Go 项目开发极速入门实战课;欢迎加入 云原生 AI 实战 星球,12 高质量体系课、20 高质量实战项目助你在 AI 时代建立技术竞争力(聚焦于 Go、云原生、AI Infra);本节课最终…...
谷歌Gemma 3:开启AI新纪元的强大引擎
摘要 谷歌公司今日宣布推出最新版本的人工智能模型——Gemma 3。该模型基于Gemini AI技术,是继一年前两款“开放”Gemma AI模型后的进一步发展。Gemma 3以其卓越性能著称,能够在单个GPU上运行,成为迄今为止最强大的AI模型之一。这一技术升级标…...
【Java项目】基于JSP的电子商城系统
【Java项目】基于JSP的电子商城系统 技术简介:采用JSP技术、B/S结构、MYSQL数据库等实现。 系统简介:该电子商城系统包括用户、医生和管理员。其主要功能包括管理员:个人中心、用户管理、医生管理、药品信息管理、线上诊疗管理、医生信息管理…...
双 Token 无感刷新机制在前后端分离架构中实现
在前后端分离的架构中,双 Token 无感刷新是一种常见的身份验证机制,用于在 Access Token 过期时,通过 Refresh Token 自动获取新的 Access Token,从而避免用户频繁登录。 1. 双 Token 无感刷新的核心流程 1.1 核心流程 用户登录&…...
Linux中的基本指令(下)
目录 mv指令 more指令 less指令 head指令 tail 指令 继续理解文件 重定向和追加重定向操作 理解管道 find指令 whereis 指令 bc指令 uname ‒r指令 grep 指令 关机 扩展命令 zip/unzip 指令 tar指令 关于rzsz 系统间的文件互传 接上! mv指令 m…...
电子电气架构 --- 智能电动汽车概述
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 人生是一场骗局,最大的任务根本不是什么买车买房,也不是及时行乐,这就…...
Unity | 工具类:消息管理器-延迟分发
目录 一、消息管理器 二、获得新装备 三、UI面板创建 消息管理器除了简单的订阅(Subscribe)、取消订阅(Unsubscribe)操作以外,还需处理延迟分发(Dispatch)的情况。 (即时处理可参考:Unity | 工具类-利用事件系统进行业务串通-CSDN博客&…...
医院本地化DeepSeek R1对接混合数据库技术实战方案研讨
1. 引言 Deep SEEK R1是一个医疗智能化平台,通过本地化部署实现数据的安全性和可控性,同时提供高效的计算能力。随着医疗信息化的迅速发展,各种数据源的增加使得医院面临更多复杂的挑战,包括如何处理实时监测数据、如何进行大数据环境下的复杂查询以及如何整合多模态数据等…...
GPU加速的国密SM2算法实现
目录 GPU加速的国密SM2算法实现一、前言二、国密SM2算法概述2.1 国密SM2算法背景2.2 SM2的数学基础2.3 SM2数字签名流程三、GPU加速在SM2算法中的应用3.1 高性能运算需求3.2 GPU加速优势3.3 加速实现思路四、基于Python的SM2算法实现与GPU加速4.1 算法模块设计4.2 主要数学公式…...
《UE5_C++多人TPS完整教程》学习笔记35 ——《P36 武器类(Weapon Class)》
本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P36 武器类(Weapon Class)》 的学习笔记,该系列教学视频为计算机工程师、程序员、游戏开发者、作家(Engineer, Programmer, Game Developer, Author) Stephen …...
Linux——Shell运行原理以及Linux权限
目录 1. Shell的运行原理 2. Linux中的权限问题 2.1 Linux权限的概念 2.1.1 如何实现用户账号之间的切换 2.1.2 如何将普通用户添加到信任列表中 2.1.3 如何仅提升当前指令的权限 2.2 Linux权限管理 2.2.1 文件访问者的分类(人) 2.2.2 文件类型…...
SpringBoot注解驱动CRUD工具:spring-avue-plus
项目背景 作为一个后端小伙伴,最大的痛点就是写完的接口需要拥有一些可视化的页面去承载这些功能使用【如果是只给后端那么swagger也足够了,非后端有点呛】如果有专业前端去弄确实也快,但是小公司呀~~~ 学呗~妈呀,现在的前端也挺…...
Redis 数据持久化之AOF
AOF(Append Only File) 以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换…...
API调试工具的无解困境:白名单、动态IP与平台设计问题
引言 你是否曾经在开发中遇到过这样的尴尬情形:你打开了平台的API调试工具,准备一番操作,结果却发现根本无法连接到平台?别急,问题出在调试工具本身。今天我们要吐槽的就是那些神奇的开放平台API调试工具,…...
git commit messege 模板设置 (规范化管理git)
配置方法 git config --global core.editor vim (设置 Git 的默认编辑器为 Vim)在用户根目录下(~),创建一个.git_commit_msg文件,然后把下面的内容拷贝到文件中并保存。 [version][模块][类型]{解决xxx问题…...
串口通信ASCII码转16进制及C#串口编程完整源码下载
在工业自动化、嵌入式系统及物联网以行业中,串口编程非常重要。 串口编程,重点在于串口数据通信和数据处理。 在C#中,System.IO.Ports命名空间提供了SerialPort类,用于实现串口通信。 串口程序的开发主要包括以下几点 1.引用命…...
第十一届蓝桥杯单片机国赛
什么?4T模拟赛和省赛做起来轻轻松松?不妨来挑战一下第十一届国赛,这一届的国赛居然没考超声波、串口通信!只要你正确地理解了题目的意思,规避出题人挖的坑,拿个国一轻轻松松。 附件:第十一届蓝桥…...
Ateme在云端构建可扩展视频流播平台
Akamai Connected Cloud帮助Ateme客户向全球观众分发最高质量视频内容。 “付费电视运营商和内容提供商现在可以在Akamai Connected Cloud上通过高质量视频吸引观众,并轻松扩展。”── Ateme首席战略官Rmi Beaudouin Ateme是全球领先的视频压缩和传输解决方案提…...
QT系列教程(20) Qt 项目视图便捷类
视频连接 https://www.bilibili.com/video/BV1XY41127t3/?vd_source8be9e83424c2ed2c9b2a3ed1d01385e9 Qt项目视图便捷类 Qt项目视图提供了一些便捷类,包括QListWidget, QTableWidget, QTreeWidget等。我们分别介绍这几个便捷类。 我们先创建一个Qt …...
【最后203篇系列】014 AI机器人-1
说明 终于开张了,我觉得AI机器人是一件真正正确,具有商业价值的事。 把AI机器人当成一笔生意,我如何做好这笔生意?一端是业务价值,另一端是技术支撑。如何构造高质量的内容和服务,如何确保技术的广度和深度…...