MySQL: 数据类型介绍

news2024/11/23 7:28:40

文章目录

  • 数据类型
    • 数值类型
    • 字符串类型
    • 日期类型


数据类型

数值类型

分为整型和浮点型:
在这里插入图片描述

  • BIT类似于数据结构中的位图,BIT可以认为是一组二进制bit位.
    BIT(10)表示这个类型里就存最多10个bit位.

  • 虽然TINYINT和SMALLINT更节省空间,但是还是更推荐使用INT或者BIGINT.

    如果存储空间不够了,多花点钱,多买几个更大的硬盘,用不了几千~
    如果因为使用TINYINT / SMALLINT,用出bug了,这样的bug造成的损失可远远不是几个硬盘能比的.
    TINYINT: -128 => +127
    SMALLINT: -32768 => +32767
    一旦出现bug,天知道有多损失.

  • FLOAT(M,D) 单精度浮点数

  • DOUBLE(M,D) 双精度浮点数

    M表示浮点数的长度(总共有几位).
    D表示小数点后有几位.
    比如定义类型的时候,写作double(3,1).
    数字长度为3,小数点后是1位.
    在这里插入图片描述

  • DECIMAL(M,D) 和 NUMERIC(M,D) 这俩差别不大,一般使用decimal类型即可.

    DECIMAL(M,D) 不再使用IEEE754这一套了,而是自己设定了一套存储格式,自己设定的这个存储格式,相当于"变长的",付出了更多的空间,来使存储的数据更精确.
    其实不仅仅是空间代价,还有时间代价.拿着两个decimal进行运算的速度,要比拿着两个double进行运算的速度慢很多.

  • 其实MySQL的类型中也提供了"无符号类型",但是在MySQL官方文档中,明确说明了,不建议使用无符号类型.甚至无符号类型可能会在未来的更高版本的MySQL中被删除掉.

字符串类型

在这里插入图片描述

  • char(SIZE) 固定长度,比如char(50),表示这个类型(这一列)固定就是50个字符.
    如果接下来存储的数据都是5,6个字节这种,这时每个字段都是消耗50字节,实际上只用上了5,6个字节,剩下的都还空着呢!

  • varchar(SIZE) 可变长度,varchar(50) 表示这个类型就是可变长的,最大是50字符.

    强调: varchar(SIZE) 的单位是字符,不是字节!!!
    尤其在utf8这样的编码方式下,一个字符=好几个字节!!

  • TEXT 也是可变长的字符串,不需要指定最大长度,完全根据你存储的数据自适应,

    虽然TEXT和varchar都是可变长的.
    但是实际使用的时候,还是更倾向于varchar.
    varchar可以指定最大长度,而TEXT没法指定.(TEXT就可能会很大,大小难以预估)

  • BLOB 存储的是二进制的数据.

    前面的那几个都是存储文本数据的~
    如果要存储图片/视频/音频…
    那就使用blob.
    但是一般不建议使用数据库直接存储图片/视频/音频等内容…

    • 一方面,数据库SQL里提供了很多非常丰富的功能,但是这些功能都是只针对数字/字符串/时间日期才有效的…
      只是存二进制数据,上述的功能就不能用了.
    • 另一方面,数据库往往是一个系统中,执行效率比较低的环节,容易成为性能瓶颈.
      把二进制数据提出来,不使用数据库保存,也能够有效降低数据库的负担~

日期类型

在这里插入图片描述

  • TIMESTAMP 这个4字节的版本的时间戳,现在不推荐使用了,因为当超过2038年,就溢出了~~

    计算机发展历史上,有一个知名问题,千年虫问题.感兴趣可以去搜一搜~

本文到这里就结束啦~

在这里插入图片描述

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

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

相关文章

MySql语言操作数据库---增删改查数据库,表,数据

思维导图 SQL语言共分为四大类: 数据定义语言DDL:数据定义语言DDL用来创建数据库中的各种对象-----[库]、[表]、[视图]、[索引]、 数据操纵语言DML:(1) 插入:INSERT (2) 更新:UPDATE (3) 删除:DELETE 数据查询语言DQL:数据查询语…

Android 深层链接利用

为了能够从我们的应用程序打开另一个应用程序,我们通常通过声明我们想要访问的 Activity 类的名称来实现这一功能。但是,如果我们要打开的 Activity 在其清单文件中设置了android:exported"false" ,则无法使用此方法。而其中一种替…

人工智能有助于解决 IT/OT 集成安全挑战

思科的一项研究表明,信息技术 (IT) 和运营技术 (OT) 融合所带来的安全问题可以通过人工智能 (AI) 解决,尽管该技术也可能被恶意行为者利用。 该报告由思科和 Sapio Research 联合发布,对 17 个国家的 1,000 名行业专业人士进行了调查&#x…

基于Java,SpringBoot和Vue的仓库管理商品管理电商后台管理系统

摘要 基于Java、Spring Boot和Vue的仓库管理系统是一个现代化的库存管理解决方案,旨在提高仓库运营效率和准确性。系统采用Java作为后端开发语言,结合Spring Boot框架简化配置和部署过程,实现业务逻辑和数据处理。前端使用Vue.js构建用户界面…

2024.9.25 数据分析学习

资料: 【开课吧哩堂】数据挖掘项目之用户流失预警系统_哔哩哔哩_bilibili 五万字 | Spark吐血整理,学习与面试收藏这篇就够了!-腾讯云开发者社区-腾讯云 (tencent.com) 黑马程序员Spark全套视频教程,4天spark3.2快速入门到精通…

**CentOS7安装配置mysql**

CentOS7安装配置mysql 首先先将mysql57-community-release-el7.rpm解压出来 rpm -ivh mysql57-community-release-el7.rpmls /etc/yum.repos.d/ -l // 检查是否解压成功安装mysql yum install -y mysql-community-server可能会出现 GPG 密钥过期 rpm --import https://r…

一个可以免费上传样本图册的网站

在数字化时代,图像和样本图册的重要性不言而喻。无论是设计师、摄影师、艺术家还是普通用户,都需要一个可靠的平台来上传、分享和存储自己的作品。今天,给大家推荐一个可以免费上传样本图册的网站——【FLBOOK】,它为用户提供了无…

UE学习篇ContentExample解读------Blueprint_Communication-上

文章目录 总览描述批次阅览1.1 Basic communication with a target blueprint1.2 Basic communication via actor casting1.3 Blueprint communication via actor casting to child Blueprint1.4 Communicating with all actors of a specific class 概念总结致谢: …

关于预处理详解 #define 宏 #和##

#和## #运算符 #运算符将宏的⼀个参数转换为字符串字⾯量。它仅允许出现在带参数的宏的替换列表中。 #运算符所执⾏的操作可以理解为”字符串化“。 当我们有⼀个变量 int a 10; 的时候,我们想打印出: the value of a is 10 . 就可以写&#xff…

MySQL函数:流程函数

1.IF函数 基本语法:IF(expr1,expr2,expr3) 功能:如果value为true,返回t, 否则返回f 例如:这个里面expr1里面是false,返回的是Error,如果是true,返回OK select if(false, OK, Err…

开通微信视频号直播的流程

首先我们要了解什么是视频号? 视频号其实就是腾讯家的“抖音”/“快手”,可以发布视频和直播(包括直播带货)。 微信视频号不同于订阅号、服务号,它是一个全新的内容记录与创作平台,也是一个了解他人、了解…

适合二开的web组态软件

技术文档 官网网站:http://www.hcy-soft.com 体验地址:by组态[web组态插件] 可以广泛应用于化工、石化、制药、冶金、建材、市政、环保、电力等几十个行业。 一、产品简介 BY组态是完全自主研发的集实时数据展示、动态交互等一体的全功能可视化平台。帮…

OJ在线评测系统 后端基础部分开发 完善CRUD相关接口

完善相关接口 判斷编程语言是否合法 先从用户的请求拿到Language package com.dduo.dduoj.service.impl;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dduo.dduoj…

OpenHarmony(鸿蒙南向)——平台驱动开发【SDIO】

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 概述 功能简介 SDIO(Secure Digital Input and Outpu…

【Faster-Rcnn】训练与测试

✨ Blog’s 主页: 白乐天_ξ( ✿>◡❛) 🌈 个人Motto:他强任他强,清风拂山冈! 💫 欢迎来到我的学习笔记! 1.提前准备 1.1. mobaxterm(远程连接服务器) 链接&#xff1a…

达索系统SOLIDWORKS2025新版本即将来袭

达索系统SOLIDWORKS2025新版本即将来袭 北京众联亿诚是达索官方授权的SOLIDWORKS经销商,专业经销SOLIDWORKS正版软件并提供免费试用、培训认证、二次开发等增值服务。 在CAD软件领域,SOLIDWORKS作为达索系统旗下的旗舰产品,一直以其优越的三…

CTF学习路线(非常详细)零基础入门到精通,收藏这一篇就够了

**CTF概述:**CTF(夺旗赛)是一种网络安全竞赛,通过解决一系列安全问题来测试参赛者的技能和经验。对于网络安全爱好者和从业者来说,学习CTF是一个不错的选择。 下面是从零开始学习CTF的详细规划和路线: 1 基础知识 要开始学习C…

问题:机器字长为n位的二进制数可以用补码来表示()个不同的有符号定点整数。

一、概念 概念:无论原码、反码、补码,n位二进制数可以表示2^n个数值 二、从范围证明 有符号的情况下,表格如下: 其中,原码、反码含有-0、0 , 而补码不划分0 由此,可知: ① 原码…

Ubuntu 编译安装 ImageMagick 来处理图片

一:克隆 ImageMagick cd /tools git clone https://github.com/ImageMagick/ImageMagick.git cd ImageMagick 二:安装编译 ImageMagick 所需的软件包 sudo apt -y install build-essential libltdl-dev libjpeg-dev libpng-dev libtiff-dev libgif-dev…

Unity 外描边简单实现(Shader Graph)

1:原理 将物体的模型空间的位置(也就是顶点数据)放大,作为一个单独的渲染通道单独渲染,这时候模型是已经发大过的,要想看到外描边的效果,需要将正面显示的东西给去掉,显示背面渲染的…