MySQL - 第3节 - MySQL数据类型

news2024/11/15 2:12:25

1.数据类型的作用

数据类型的作用:

• 决定了存储数据时应该开辟的空间大小。

• 决定了如何识别一个特定的二进制序列。

• 决定了数据的取值范围。


2.数据类型分类

注:MySQL本身是不支持bool类型的,当把一个数据设置成bool类型时,数据库会自动将其转换成tinyint(1)的数据类型,其实这个就是变相的bool类型,因为tinyint(1)只有1和0两种取值,可以分别对应bool类型的true和false。


3.数值类型

3.1.tinyint类型

有符号tinyint范围测试:

创建一个表,表当中包含一个tinyint类型的列,默认其为有符号类型。如下:

由于tinyint类型占用1字节,因此有符号tinyint的取值范围为-128~127,插入该范围内的数据时都能成功插入。如下:

如果插入的数据不在-128~127范围内,那么插入数据时就会产生报错。如下:

注:c语言中,如果将200赋值给char类型的变量a,编译器会告警,然后将200的二进制补码截断并赋值给变量a。在mysql中,如果将200赋值给tinyint类型的变量a,编译器会直接报错。

在mysql中,如果插入的数据不符合要求,mysql会直接终止操作。因为mysql本身就是存储数据的,如果允许自由截断,那么mysql中的数据可信度就不高了。

无符号tinyint范围测试:

创建一个表,表当中包含一个tinyint类型的列,并指定其为无符号类型。如下:

由于tinyint类型占用1字节,因此无符号tinyint的取值范围为0~255,插入该范围的数据时都能成功插入。如下:

如果插入的数据不在0~255范围内,那么插入数据时就会产生报错。如下:

建议:除非场景要求数值类型必须是无符号,否则尽量不要使用无符号,因为有符号的数值类型存不下的数据,其对应的无符号类型同样可能存不下,这时应该直接将数值类型进行提升。

3.2.bit类型

3.3.float类型

3.4.decimal类型


4.字符串类型


5.时间日期类型


6.enum和set类型

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

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

相关文章

NetMock 简介:简化 Java、Android 和 Kotlin 多平台中的 HTTP 请求测试

NetMock 简介:简化 Java、Android 和 Kotlin 多平台中的 HTTP 请求测试 NetMock可让我们摆脱在测试环境中模拟请求和响应的复杂性。 NetMock是一个功能强大、用户友好的库,旨在简化模拟HTTP请求和响应的过程。 对开发者来说,测试HTTP请求经…

稳定?国企也裁员!

大家好,我是爱搞事情的了不起! 我所在的公司是一家央企下面的子公司,号称“国企”。 提起国企,好多人的印象中是855不加班,不裁员,真实情况是这样吗? 当国企领导 去年过年聚会,一个部…

《微服务架构设计模式》第二章 服务的拆分策略

内容总结自《微服务架构设计模式》 服务的拆分策略 一、架构是什么软件架构的41视图模型为什么重要分层架构风格 二、定义微服务如何定义服务拆分难点定义服务API 一、架构是什么 软件架构的定义:计算机系统的软件架构是构建这个系统所需要的一组结构,包…

内参:美联储下半年加息时间表和路径

* * * 原创:刘教链 * * * 星球会员请直接转到知识星球查看全文; 普通读者可以微信付费查看本篇全文,也欢迎加入星球。 加入星球,解锁全年365天内参全文阅读权限 (年费制 折合仅1.6元/天) 6.15教链内参&…

redis锁

一、redis锁的实现 加锁命令: SETNX key value: 当键不存在时,对键进行设置操作并返回成功1,否则返回失败0。 Key是锁的唯一标识,一般按业务来决定命名; Value 往往用来比较加锁的是哪一个线程或者哪一个…

Linux [工具]

工具 补充yumyum的位置yum的使用yum的本质 vimvim的多模式vim多个模式的细节命令模式底行模式 vim的配置 补充 Linux系统中文件名后缀没有直接的意义 但是不代表Linux上的软件不需要后缀, 比如gcc yum yum的位置 我们在手机或者Windows上, 一般都有一个东西 应用商店. 这个东…

简要介绍 | 单目深度估计

注1:本文系“简要介绍”系列之一,仅从概念上对单目深度估计进行非常简要的介绍,不适合用于深入和详细的了解。 注2:"简要介绍"系列的所有创作均使用了AIGC工具辅助 探索视觉世界的无限可能:单目深度估计介绍…

CANopen SDO下载

文章目录 CANopen SDO 下载SDO下载协议SDO下载启动协议SDO分段下载协议参考 CANopen SDO 下载 CANopen SDO下载分为快速(expedited)和正常(normal)两种,平时我们写对象字典基本都在用SDO快速下载(适用于写…

网络安全竞赛——Windows服务漏洞扫描与利用

1.通过渗透机Kali Linux对靶机场景Windows 7进行系统服务及版本扫描渗透测试,并将该操作显示结果中3389端口对应的服务状态信息作为Flag值提交; 进入kali命令控制台中使用如下命令 Flag:open 2.在msfconsole中用search命令搜索 MS12020 RDP拒…

ETCD简介

为什么使用ETCD ETCD简介ETCD发展史ETCD架构etcd数据通道具体交互 ETCD使用场景概念词汇 ETCD简介 现代键值(Key - Value)存储系统,ZooKeeper是历史最悠久的项目,起源于Hadoop。这里ETCD与Zk对比。 ETCD相比与ZK,更加…

【力扣】3、无重复字符的最长子串

3、无重复字符的最长子串 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 //维护左指针,循环右指针 //new map是新建一个哈希表 var lengthOfLongeSubstring function (s){const map new Map();let l 0;let num 0;for(let i …

【微服务架构设计和实现】4.4 数据库和数据存储的分离和服务化

往期回顾: 第一章:【云原生概念和技术】 第二章:【容器化应用程序设计和开发】 第三章:【基于容器的部署、管理和扩展】 第四章:【4.1 微服务架构概述和设计原则】 第四章:【4.2 服务边界的定义和划分…

下载较老版本或最新版本的ARM Linux gcc 交叉编译工具链

前言 如果开发的 ARM 平台比较的多,需要多个版本的 arm gcc 交叉编译工具链,那么如何获取较新版本的 arm gcc 交叉编译工具链呢? 下载现成的 arm gcc 交叉编译工具链 速度较快的,也比较新的,就到 ARM 官方网站下载 …

突破 Python 爬虫的瓶颈:WebKit 在线模拟技术与环境搭建

部分数据来源:ChatGPT 引言 在使用 Python 进行爬虫开发的时候,很多情况下我们需要利用一些浏览器内核来模拟浏览器行为。而目前最为常用的两种浏览器内核是基于 WebKit 和基于 Chromium 的内核。那么在 Windows 10 操作系统中,我们可以使用 Anaconda 作为 Python 的发行版…

mysql的一些使用语句写法

记录一下,方便自己以后查看,以后会随时添加 1,查询重复数据 select project_id,house_location,count(*) from house_price group by house_location having count(house_location)>1; 2,删除重复的数据,并保留一条…

MySQL(六):基本的SELECT语句

基本的SELECT语句 前言一、SELECT...二、SELECT ... FROM三、列的别名四、去除重复行五、空值参与运算六、着重号七、查询常数八、显示表结构九、过滤数据 前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主&#…

串口协议说明

文章目录 关系波特率概念波特率相对误差UART误差保证 协议常见的串行接口协议之间的比较USB 转串口PL2303USB 转串口CP2102USB转232终端电阻 串口电平TTL电平485电平 帧奇偶校验 关系 两个半双工,一发一收,就是Uart 在一根线的基础上,多加一…

【Git原理与使用】

🎉实战项目:Git原理与使用 博主主页:桑榆非晚ᴷ 博主能力有限,如果有出错的地方希望大家不吝赐教 给自己打气:成功没有快车道,幸福没有高速路。所有的成功,都来自不倦地努力和奔跑&#xff0c…

人机交互学习-10 评估的基础知识

评估的基础知识 背景评估目标和原则评估目标评估的优点评估的目标 评估原则 评估范型和技术“范型”与“技术”评估范型快速评估可用性测试实地研究预测性评估评估范型比较 评估技术评估范型和技术的关系 评估方法的选择区分评估技术的因素评估技术的分类评估方法组合 评估步骤…

CTFshow-pwn入门-Test_your_nc

pwn0 靶场环境启动开,显示ssh连接。 直接打开ctfshow的pwn专用虚拟机来使用ssh连接。密码是123456。 连接之后,他会出现这样的一大堆的介绍性文字,不用管他,然他输出完就行。 中间还用各种语言说了一下“消灭人类暴政&#xff…