`

MySQL数据类型之数字类型详细解析

 
阅读更多

转载: https://blog.csdn.net/gm_163/article/details/8053542

我们今天是要与大家一起讨论的是MySQL数据类型的详细分析对MySQL数据类型的详细分析,我前两天在相关网站看见MySQL数据类型之数字类型的资料,觉得挺好,就拿出来供大家分享。

无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构、充分利用空间是十分必要的。这就要求我们对数据库系统的常用MySQL数据类型有充分的认识。下面我就将我的一点心得写出来跟大家分享。

MySQL数据类型之数字类型

数字类型按照我的分类方法分为三类:整数类、小数类和数字类。

我所谓的“数字类”,就是指DECIMAL和NUMERIC,它们是同一种类型。它严格的说不是一种数字类型,因为他们实际上是将数字以字符串形式保存的;他的值的每一位(包括小数点)占一个字节的存储空间,因此这种类型耗费空间比较大。但是它的一个突出的优点是小数的位数固定,在运算中不会“失真”,所以比较适合用于“价格”、“金额”这样对精度要求不高但准确度要求非常高的字段。

小数类,即浮点数类型,根据精度的不同,有FLOAT和DOUBLE两种。它们的优势是精确度,FLOAT可以表示绝对值非常小、小到约1.17E-38(0.000...0117,小数点后面有37个零)的小数,而DOUBLE更是可以表示绝对值小到约2.22E-308(0.000...0222,小数点后面有307个零)的小数。

FLOAT类型和DOUBLE类型占用存储空间分别是4字节和8字节。如果需要用到小数的字段,精度要求不高的,当然用FLOAT了。可是说句实在话,我们“民用”的数据,哪有要求精度那么高的呢?这两种类型至今我没有用过――我还没有遇到适合于使用它们的事例。

用的最多的,最值得精打细算的,是整数类型。从只占一个字节存储空间的TINYINT到占8个字节的BIGINT,挑选一个“够用”并且占用存储空间最小的类型是设计数据库时应该考虑的。TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT占用存储空间分别为1字节、2字节、3字节、4字节和8字节,就无符号的整数而言,这些类型能表示的最大整数分别为255、65535、16777215、4294967295和18446744073709551615。

如果用来保存用户的年龄(举例来说,数据库中保存年龄是不可取的),用TINYINT就够了;九城的《纵横》里,各项技能值,用SMALLINT也够了;如果要用作一个肯定不会超过16000000行的表的AUTO_INCREMENT的IDENTIFY字段,当然用MEDIUMINT不用INT,试想,每行节约一个字节,16000000行可以节约10兆多呢!

以上的相关内容就是对MySQL数据类型之数字类型的介绍,望你能有所收获。

分享到:
评论

相关推荐

    MySql于Java数据类型对应列表

    通过以上对MySQL与Java数据类型对应关系的详细解析,我们可以更好地理解不同数据类型的特点及应用场景。在实际开发过程中,选择合适的数据类型对于提高程序性能和维护性至关重要。此外,了解这些类型的映射关系也有...

    mysql常用数据类型

    下面将详细解析MySQL中常用的各类数据类型,包括它们的大小、范围、格式以及具体用途。 ### 整型数据类型 #### TINYINT - **大小**:1字节 - **范围(无符号)**:0至255 - **用途**:适用于存储小整数值,如状态...

    MySQL数据库应用实战教程第2章教案MySQL数据类型.pdf

    在本章"MySQL数据库应用实战教程"中,主要讲解了MySQL数据类型,这是数据库设计的基础。数据类型决定了数据的存储方式、占用空间以及可以存储的数据范围。以下是详细的知识点解析: 1. 数值类型: - MySQL支持严格...

    java_mysql_数据类型对照.doc

    根据提供的文件信息,我们可以深入探讨这一主题,解析Java与MySQL数据类型间的对应关系及其应用场景。 ### 数据类型对照表概览 首先,我们来看一下Java与MySQL之间数据类型的基本对照情况: 1. **VARCHAR**:在...

    mysql数据字典生成工具

    MySQL数据字典生成工具是一种实用程序,用于帮助数据库管理员和开发者整理并理解MySQL数据库的结构。数据字典在IT行业中是数据库管理系统中的一个重要组成部分,它提供了关于数据库对象(如表、视图、索引等)的详细...

    Access 导入MySQL 数据文件

    3. **数据类型映射**:Access和MySQL的数据类型可能存在差异,工具会自动尝试最佳匹配。检查并确认这些映射以确保数据完整性。 4. **预览和迁移**:在实际迁移前,预览数据转换的效果,确认无误后,点击“迁移”...

    PHP MYSQL 数据字典生成器

    在Web开发中,数据字典是数据库设计的重要组成部分,它详细记录了数据库中的表、...以上就是关于“PHP MySQL数据字典生成器”的详细描述,通过理解这些知识点,你可以自行创建一个类似的工具来提升数据库管理的效率。

    mysql数据抽取,自动生成hive建表语句

    总的来说,“mysql数据抽取,自动生成hive建表语句”是大数据环境下的一个关键环节,它涉及到数据库间的数据迁移、数据类型转换、ETL流程等多个方面。通过使用`AutoCreateTable`这样的工具,我们可以更便捷地构建起...

    mysql历史数据同步到clickhouse 已测试

    MySQL到ClickHouse的历史数据同步是一项常见的任务,尤其是在大数据分析场景中。ClickHouse是一个高性能的列式数据库管理系统(Column-Oriented DBMS),适用于在线分析处理(OLAP)和实时数据分析。MySQL作为流行的...

    hsql数据转移mysql

    在IT行业中,数据库管理是一项至关...以上就是关于“hsql数据转移mysql”的详细解析,这个过程涉及到数据库管理、数据迁移、SQL操作以及编程技术等多个方面,理解并掌握这些知识对于任何IT专业人员来说都是至关重要的。

    MySQL常用数据类型[文].pdf

    本文将详细解析MySQL中的常用数据类型。 1. **整数类型**: - `SMALLINT`:占用2个字节,表示的范围是-32,768到32,767,适用于存储较小的整数,如年龄、小型计数。 - `INT`:占用4个字节,范围为-2,147,483,648到...

    mysql.zip||mysql数据字典生成工具||mysql Data dictionary generation tool

    MySQL数据字典生成工具是数据库管理和优化过程中非常实用的一个辅助软件。它可以帮助用户快速了解数据库的结构、表之间的关系以及各个对象的详细属性,从而提高工作效率。本工具特别适用于MySQL数据库,通过连接到...

    json格式文件解析+c# mysql连接(初学者)

    总的来说,这个教程涵盖了C#环境下使用JSON解析和MySQL数据库的基本操作,包括JSON文件的读取、解析、以及将解析后的数据存入MySQL数据库。通过这个过程,初学者可以学习到C#的文件操作、JSON序列化和反序列化,以及...

    单线程Socket编程实现mysql数据读取

    在TCP/IP协议栈中,Socket分为两种类型:流式Socket(TCP)和数据报Socket(UDP)。在这个案例中,我们使用的是流式Socket,因为它提供了一种可靠、有序的数据传输机制。 **Socket服务器** 一个Socket服务器首先...

    C#在MySQL大量数据下的高效读取、写入详解

    3. **利用索引和DataReader**:使用索引提高查询速度,通过列索引而非列名获取数据,减少数据解析时间。同时,设置命令超时以防止在处理海量数据时出现超时。 ```csharp using (var conn = new MySqlConnection(...

    MySQL数据实时同步到ES轻松配置.pdf

    MySQL 数据实时同步到 Elasticsearch 是一个常见的需求,特别是在大数据分析和实时搜索场景中。灵蜂ETL工具 BeeDI 提供了一种详细的、一键式可视化配置方式,使得这一过程变得轻松便捷。下面将详细介绍如何通过 ...

    MySQL协议解析MysqlProtocolAnalyzer.zip

    MysqlProtocolAnalyzer 是一个对... 能解析客户端与mysql服务交互的所有包,例如客户端与服务器连接的握手协议的包,所有COM_QUERY类型的语句,COM_STMT_PREPARE和COM_STMT_EXECUTE,还有ok包,以及resultset包等。

    基于 DataX 开发的快速同步 MySQL 数据至 HDFS 上的工具.zip

    4. **文档**:详细的使用指南、API 文档和常见问题解答,帮助用户理解和部署这个工具。 在实际应用中,使用这个工具可能涉及以下步骤: 1. **环境准备**:安装和配置 Hadoop 环境,确保 HDFS 可用;安装 Java 运行...

    Java 实现从Excel批量导入数据到MySQL

    3. **数据预处理**:对读取到的数据进行预处理,例如转换数据类型、校验数据格式、处理异常值等。这一步骤可以确保导入的数据符合数据库的要求。 4. **建立数据库连接**:使用JDBC的`DriverManager.getConnection()...

    java实现Excel数据导入到mysql数据库.zip

    解析的数据可能包含数字、字符串、日期等,需要根据实际内容类型进行处理。 数据库连接部分,Java提供了JDBC(Java Database Connectivity)接口,它是Java与各种数据库进行交互的标准。开发者需要加载数据库驱动,...

Global site tag (gtag.js) - Google Analytics