当前位置: 首页 > article >正文

MySQL数据类型简介以及MySQL INT、TINYINT、SMALLINT、MEDIUMINT、BIGINT(整数类型)

MySQL数据类型简介

数据类型(data_type)是指系统中所允许的数据的类型。MySQL 数据类型定义了列中可以存储什么数据以及该数据怎样存储的规则。

数据库中的每个列都应该有适当的数据类型,用于限制或允许该列中存储的数据。例如,列中存储的为数字,则相应的数据类型应该为数值类型。

如果使用错误的数据类型可能会严重影响应用程序的功能和性能,所以在设计表时,应该特别重视数据列所用的数据类型。更改包含数据的列不是一件小事,这样做可能会导致数据丢失。因此,在创建表时必须为每个列设置正确的数据类型和长度。

MySQL 的数据类型有大概可以分为 5 种,分别是整数类型、浮点数类型和定点数类型、日期和时间类型、字符串类型、二进制类型等。

注意:整数类型和浮点数类型可以统称为数值数据类型。

1) 数值类型

整数类型包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,浮点数类型包括 FLOAT 和 DOUBLE,定点数类型为 DECIMAL。

2) 日期/时间类型

包括 YEAR、TIME、DATE、DATETIME 和 TIMESTAMP。

3) 字符串类型

包括 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET 等。

4) 二进制类型

包括 BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。

定义字段的数据类型对数据库的优化是十分重要的。

MySQL INT、TINYINT、SMALLINT、MEDIUMINT、BIGINT(整数类型)

整数类型又称数值型数据,数值型数据类型主要用来存储数字。

MySQL 提供了多种数值型数据类型,不同的数据类型提供不同的取值范围,可以存储的值范围越大,所需的存储空间也会越大。

MySQL 主要提供的整数类型有 TINYINTSMALLINTMEDIUMINTINTBIGINT,其属性字段可以添加 AUTO_INCREMENT 自增约束条件。下表中列出了 MySQL 中的数值类型。
 

类型名称说明存储需求
TINYINT很小的整数1个字节
SMALLINT小的整数2个宇节
MEDIUMINT中等大小的整数3个字节
INT (INTEGHR)普通大小的整数4个字节
BIGINT大整数8个字节


从上表中可以看到,不同类型的整数存储所需的字节数不相同,占用字节数最小的是 TINYINT 类型,占用字节最大的是 BIGINT 类型,占用的字节越多的类型所能表示的数值范围越大。

根据占用字节数可以求出每一种数据类型的取值范围。例如,TINYINT 需要 1 个字节(8bit)来存储,那么 TINYINT 无符号数的最 大值为 28-1,即 255;TINYINT 有符号数的最大值为 27-1,即 127。其他类型的整数的取值范围计算方法相同,如下表所示。
 

类型名称说明存储需求
TINYINT-128〜1270 〜255
SMALLINT-32768〜327670〜65535
MEDIUMINT-8388608〜83886070〜16777215
INT (INTEGER)-2147483648〜21474836470〜4294967295
BIGINT-9223372036854775808〜92233720368547758070〜18446744073709551615
提示:显示宽度和数据类型的取值范围是无关的。显示宽度只是指明 MySQL 最大可能显示的数字个数,数值的位数小于指定的宽度时会由空格填充。如果插入了大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且能够显示出来。例如,year 字段插入 19999,当使用 SELECT 查询该列值的时候,MySQL 显示的将是完整的带有 5 位数字的 19999,而不是 4 位数字的值。

其他整型数据类型也可以在定义表结构时指定所需的显示宽度,如果不指定,则系统为每一种类型指定默认的宽度值。

不同的整数类型有不同的取值范围,并且需要不同的存储空间,因此应根据实际需要选择最合适的类型,这样有利于提高查询的效率和节省存储空间。

mysql数据库实战训练icon-default.png?t=N7T8https://edu.csdn.net/course/detail/39021

http://www.lryc.cn/news/2416935.html

相关文章:

  • WSUS补丁服务器搭建和使用(超详细+域策略设置)
  • Web前端最新jQuery UI widget源码解析,前端入门
  • Linux之常用压缩解压缩命令
  • 最近成果
  • AXIOM的介绍与使用
  • 天呐!你知道MSBuild都干了些什么
  • KingbaseES数据库审计
  • NDK基础
  • 两个必看协议-最全面-最直接-最暴力-一篇文章带你读懂-HTTP、HTTPS
  • 探索WebRTC Streamer:实时通信的新境界
  • Oracle:TNS数据传输协议-基础篇
  • C# DataTable 总结常用方法
  • Xamarin移动开发的优点和缺点
  • gcc 编辑器基本使用
  • pr找不到msvcr110.dll无法执行代码怎么解决?总结7个有效方法分享
  • 析构函数
  • Jquery各版本下载,附Jquery官网下载方法
  • 16进制颜色
  • 详解 LPC
  • 坑逼的PL2303与WIN11
  • 安装天堂遇到的问题及解决方法
  • 两款WiFi无线网络扫描工具软件 WirelessMon Xirrus WiFi Inspector
  • DTM、DEM、DSM与DOM的概念
  • ebook_7种开放式eBook格式指南
  • QGC地面站使用教程
  • BootStrap----table
  • 并发编程之CyclicBarrier详解
  • 【笔记】w5500 官方DHCP库 使用
  • c语言钩子函数
  • 无忧启动源码 仿音速启动