在MySQL中,定义字段为TINYINT(1)、TINYINT(2) 和 INT(2)的区别

在MySQL中,定义字段为 TINYINT(1)TINYINT(2)INT(2) 的区别:

1. TINYINT(1)TINYINT(2)

  • 范围

    • TINYINT 是一个 1 字节(8 位)的整数类型。
    • 它的取值范围是 -128 到 127(有符号)或者 0 到 255(无符号)。
  • 显示宽度

    • 括号内的数字(例如 (1)(2))并不影响实际存储的数值范围,而是显示宽度。
    • 显示宽度指定了 MySQL 在显示这个字段的值时,默认情况下使用的最小字符数。如果显示宽度比实际数字的字符数少,显示宽度将被忽略。
    • 例如,TINYINT(1)TINYINT(2) 都有相同的存储范围,区别只是默认显示宽度,TINYINT(1) 显示时会尝试用 1 个字符表示,TINYINT(2) 会尝试用 2 个字符表示。

2. INT(2)

  • 范围

    • INT 是一个 4 字节(32 位)的整数类型。
    • 它的取值范围是 -2,147,483,648 到 2,147,483,647(有符号)或者 0 到 4,294,967,295(无符号)。
  • 显示宽度

    • 类似 TINYINTINT(2) 的括号内数字也只影响显示宽度,而不影响实际的存储范围。
    • INT(2) 意味着在显示时,默认使用 2 个字符宽度,不足时会用空格或前导零填充(前提是使用 ZEROFILL 属性)。

小结

  • TINYINT(1)TINYINT(2) 的实际存储范围相同,都是 1 字节(8 位),区别仅在于显示宽度。
  • INT(2) 是 4 字节(32 位)的整数类型,存储范围大得多,括号中的数字仅影响显示宽度。

简而言之,括号内的数字主要用于指定显示格式,而不是存储容量或数值范围。


那么到底如何理解显示宽度呢?

显示宽度的概念

显示宽度是用于指定当 MySQL 显示这个字段的值时,默认情况下应使用的最小字符数。这个特性主要用于格式化输出,不影响实际存储的数据范围或大小。

举例说明

假设我们有以下表格定义:

CREATE TABLE example (tiny_field TINYINT(2),int_field INT(5)
);

在这个表格中:

  • tiny_field 被定义为 TINYINT(2)
  • int_field 被定义为 INT(5)

存储 vs 显示

存储:
  • TINYINT 占用 1 字节,存储范围为 -128 到 127(有符号)。
  • INT 占用 4 字节,存储范围为 -2,147,483,648 到 2,147,483,647(有符号)。
显示宽度:
  • TINYINT(2) 表示当 MySQL 显示这个字段的值时,默认情况下用 2 个字符宽度。
  • INT(5) 表示当 MySQL 显示这个字段的值时,默认情况下用 5 个字符宽度。

显示宽度的作用(通常结合 ZEROFILL 使用)

如果我们在插入和查询数据时使用显示宽度,尤其是结合 ZEROFILL 属性,效果会更明显。例如:

CREATE TABLE example_zerofill (tiny_field TINYINT(2) ZEROFILL,int_field INT(5) ZEROFILL
);INSERT INTO example_zerofill (tiny_field, int_field) VALUES (5, 42);

在这个例子中:

  • tiny_fieldTINYINT(2) ZEROFILL,插入值 5 会显示为 05(宽度为 2,前导零填充)。
  • int_fieldINT(5) ZEROFILL,插入值 42 会显示为 00042(宽度为 5,前导零填充)。

总结

  • 显示宽度 是 MySQL 用来格式化输出的一个特性,不影响实际的存储空间或数值范围。
  • 当结合 ZEROFILL 属性使用时,显示宽度可以用前导零填充不足的字符数,达到预期的格式输出。
  • 没有 ZEROFILL 时,显示宽度对输出的格式化作用有限,实际显示时可能会忽略。

示例代码

为了更加清晰地理解,以下是完整的示例代码及其结果:

CREATE TABLE example_zerofill (tiny_field TINYINT(2) ZEROFILL,int_field INT(5) ZEROFILL
);INSERT INTO example_zerofill (tiny_field, int_field) VALUES (5, 42);SELECT tiny_field, int_field FROM example_zerofill;

执行上述代码后,查询结果将显示为:

+------------+-----------+
| tiny_field | int_field |
+------------+-----------+
|         05 |     00042 |
+------------+-----------+

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

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

相关文章

RabbitMQ实践——Stream队列的使用方法

大纲 什么是Stream队列创建Stream发布消息消费从第一条消息开始读取从最后一条消息开始读取从某个时间戳开始读取从某个偏移量开始读取 样例长度控制长度控制时间控制服务端筛选消息发布方设定过滤值消费方设置服务端过滤,且要二次过滤 工程代码参考资料 在 《Rabb…

Lua网站开发之文件表单上传

这个代码示例演示如何上传文件或图片,获取上传信息及保存文件到本地。 local fw require("fastweb") local request require("fastweb.request") local response require("fastweb.response") local cjson require("cjson&q…

生成式人工智能发展现状和发展趋势

ChatGPT 的出现标志着人工智能发展的新拐点。 它背后的大语言模型技术,能够理解和生成语言,并学习上下文含义和表述意图,这将对工作模式、商业形态乃至社会产生颠覆性影响。 生成式人工智能的发展历程 可以分为三个阶段: 机器学习阶段: 20世纪50年代,机器学习开始兴起,…

wps的domain转为shp矢量

wps的namelist制作、python出图和转矢量 简介 wps(WRF Preprocessing System)是中尺度数值天气预报系统WRF(Weather Research and Forecasting)的预处理系统。 wps的安装地址在GitHub上:https://github.com/wrf-model/WPS 下载完成后&…

巴中市红色旅游地管理系统

摘 要 随着红色旅游的兴起,越来越多的人开始对巴中市的红色旅游地产生兴趣。巴中市作为中国革命的重要发源地之一,具有丰富的红色旅游资源。然而,目前巴中市红色旅游地的管理仍然存在许多问题,如信息不对称、资源利用效率低等。为…

Robust semi-supervised segmentationwith timestep ensembling diffusion models

时间步合成扩散模型的鲁棒半监督分割 摘要 医学图像分割是一项具有挑战性的任务,由于许多数据集的大小和注释的限制,使得分割更加困难。消噪扩散概率模型(DDPM)最近在模拟自然图像的分布方面显示出前景,并成功地应用于各种医学成像任务。这…

如何给小语种视频生成字幕

目前我们常看的有视频有中、英、日、韩这四种语言,如果我们想给其他的不常用的语言生成字幕怎么办?今天教大家如何给其他语言生成视频字幕文件 打开智游剪辑(zyjj.cc)搜索字幕生成,选择多语种那个就可以了 然后上传我们…

nginx常见问题——新手向

一.nginx命令不生效 nginx命令生效需要在指定目录下: /usr/local/nginx/sbin 二.nginx配置文件在哪 /usr/local/nginx/conf/nginx.conf 三.反向代理 如何实现简单的反向代理? 如www.abc.com 转到反向代理服务器192.111.111.111最终转发到127.0.0.1:8080…

10.XSS绕过之htmlspecialchars()函数

XSS绕过之htmlspecialchars()函数 首先可以测试一下是否将字符被转移成html实体&#xff0c;输入字符测试 1111"<>$点击提交 查看页面元素代码&#xff0c;发现单引号不变&#xff0c;可以利用 重新输入攻击代码&#xff0c;用单引号闭合前面的&#xff0c;进…

【PostgreSQL】启航PostgreSQL之旅:基础构建与环境配置

目录 PostgreSQL概述 核心特性 安装与配置 Linux环境安装示例 Windows环境安装 基本命令与界面介绍 命令行界面&#xff08;psql&#xff09; PostgreSQL概述 PostgreSQL&#xff0c;通常简称为Postgres&#xff0c;是一种开源的对象关系型数据库管理系统&#xff08;OR…

AI学习指南机器学习篇-随机森林(Random Forests)算法简介

AI学习指南机器学习篇-随机森林&#xff08;Random Forests&#xff09;算法简介 1. 引言 在机器学习领域&#xff0c;随机森林&#xff08;Random Forests&#xff09;是一种集成学习方法&#xff0c;通过组合多个决策树来进行分类和回归任务。它是一种强大且灵活的算法&…

python爬虫-爬虫的基础知识储备

爬虫就是一个不断的去抓去网页的程序&#xff0c;根据我们的需要得到我们想要的结果&#xff01;但我们又要让服务器感觉是我们人在通过浏览器浏览不是程序所为&#xff01;归根到底就是我们通过程序访问网站得到html代码&#xff0c;然后分析html代码获取有效内容的过程。下面…

【Python实战因果推断】1_因果效应异质性1

目录 From ATE to CATE Why Prediction Is Not the Answer CATE and ITE 本文将介绍应用于行业的因果推理中最有趣的发展&#xff1a;效应异质性。在此之前&#xff0c;你们了解的是一种治疗方法的一般影响。现在&#xff0c;你将专注于发现它如何对不同的人产生不同的影响。…

Java | Leetcode Java题解之第198题打家劫舍

题目&#xff1a; 题解&#xff1a; class Solution {public int rob(int[] nums) {if (nums null || nums.length 0) {return 0;}int length nums.length;if (length 1) {return nums[0];}int first nums[0], second Math.max(nums[0], nums[1]);for (int i 2; i <…

【Oracle篇】逻辑备份工具expdp(exp)/impdp(imp)和物理备份工具rman的区别和各自的使用场景总汇(第八篇,总共八篇)

&#x1f4ab;《博主介绍》&#xff1a;✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ &#x1f4ab;《擅长领域》&#xff1a;✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux&#xff0c;也在扩展大数据方向的知识面✌️…

链表数组遍历输出的辨析(二者都含指针的情况下)----PTA期末复习题

输入输出三位学生的学号和信息 一开始我认为是指针&#xff0c;直接背了指针输出的方式&#xff1b;p;p!NULL;pp->next 这个是错误的 下面这个输出是正确的方式 分析怎么区分这两个 举个例子来 数组遍历&#xff1a; 链表遍历&#xff1a; 输出的结果&#xff1a; 如果将…

Android小技巧:利用动态代理自动切换线程

日常开发中&#xff0c;多线程编程是个难以避免的话题&#xff0c;开发者可以小心翼翼、谨慎地、严谨地编程来编写出高效的、安全的多线程程序&#xff0c;但是在长时间的维护中&#xff0c;难免因为其中某个人的某个疏忽而导致出现预料之外的并发问题&#xff0c;比如下面这个…

【XCharts插件】5-1、从Json中读取数据并更新图表案例(v3.0)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群:398291828大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 XCharts插件是一款基于UGUI的功能强大、易用、参数可配置的数据可视化图表插件。 【Unity3D…

区块链技术与数字货币

1.起源 ➢中本聪(Satoshi Nakamoto), 2008 ➢比特币:一种点对点的电子现金系统 2.分布式账本技术原理 1.两个核心技术&#xff1a; ➢以链式区块组织账本数据实现账本数据的不可篡改 ➢分布式的可信记账机制 2.共识机制&#xff1a;由谁记账 ➢目的&#xff1a; ⚫ 解…

【数据结构(邓俊辉)学习笔记】二叉搜索树03——平衡

文章目录 1. 极端退化2. 平均高度3. 理想 适度4. 歧义 等价5. 等价变换 1. 极端退化 二叉搜索树为我们同时实现对数据集高效的静态操作以及动态操作打开了一扇新的大门。 正如我们所看到的&#xff0c;从策略上&#xff0c;BST可以视作是试图将此前的向量结构以及列表结构优…