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数据类型之数字类型详细解析相关推荐

  1. json mysql 字段 默认值_MySQL中的JSON类型

    前言(废话) 昨天抽了点时间在网上搜列了一个开源项目,项目挺完整的,前后台分离还带有微信小程序,我Clone下代码,经过一番倒腾,嘿~还真就跑起来了.在这个过程中,体验了一把VUE项目工程细节,因为之 ...

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

    MySQL数据类型之数字类型 数字类型按照我的分类方法分为三类:整数类.小数类和数字类. 我所谓的"数字类",就是指DECIMAL和NUMERIC,它们是同一种类型.它严格的说不是 ...

  3. mysql 字段加减_Mysql常见问题及优化

    一.库表设计 1.1 引擎选择 在 mysql 5.1 中,引入了新的插件式存储引擎体系结构,允许将存储引擎加载到正在运新的 mysql 服务器中.使用 mysql 插件式存储引擎体系结构,允许数据库 ...

  4. mysql 字段加减_MySQL数据库开发常见问题及优化(续)

    在设计表或索引时,常出现以下几个问题: 1.少建索引或不建索引.这个问题最突出,建议建表时 DBA 可以一起协助把关. 2.索引滥用.滥用索引将导致写请求变慢,拖慢整体数据库的响应速度(5.5 以下的 ...

  5. Python快速编程入门#学习笔记03# |第二章 :Python基础(代码格式、标识符关键字、变量和数据类型、数字类型以及运算符)

    全文目录 ==先导知识== 学习目标: 2.1 代码格式 2.1.1 注释 2.1.2 缩进 2.1.3 语句换行 2.2 标识符和关键字 2.2.1 标识符 2.2.2 关键字 2.3 变量和数据类 ...

  6. python 数据类型 之 数字类型

    数字类型 python数字类型有三种: 整数类型.浮点数类型.复数类型. 一.整数类型 示例: 十进制:1010 , 99 , -217 十六进制:0x9a , 0X89 ( 0x , 0X 开头表示 ...

  7. mysql约束条件整型_MySQL 数据类型(整型,浮点型,字符类型,日期类型,枚举和集合) 约束条件 自增...

    存储引擎补充: 不同的应用软件处理不同类型的数据 MySQL5.5版本及以上默认的存储引擎为innodb innodb:支持行锁表锁,外键,事物,安全性更高,教myisam数据更安全 myisam:仅 ...

  8. mysql数字_MySQL 中的数字类型

    MySQL 中数据类型常用的就三大类: 数字类型/numeric types 日期和时间/date and time types 字符类型/string (character and byte) ty ...

  9. mysql类型说明_MYSQL 数据类型说明

    MySQL支持大量的列类型,它可以被分为3类:数字类型.日期和时间类型以及字符串(字符)类型.本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述. ...

  10. mysql的double类型数据_mysql数据类型double和decimal区别详解

    实数是带有小数部分的数字.然而,它们不只是为了存储小数部分,也可以使用 DEClMAL 存储比 BIGINT还大的整数. MySQL 既支持精确类型,也支持不精确类型. FLOAT 和  DOUBLE ...

最新文章

  1. python在word中的应用_不能在worddoc中使用docx python应用表样式
  2. Kernel tasklet
  3. hdu 1588 Gauss Fibonacci 较难
  4. python教育学_使用Python处理教育学领域的数据——以某篇期刊论文为例
  5. adas--智能驾驶辅助系统
  6. gprs模块http mqtt_在GPRS模块(SIM800C)和STM32芯片上实现MQTT协议 | TsonTec:测量解决方案提供者...
  7. 使用Titan Framework搭建一个集群Demo
  8. ENVI实验教程(3)遥感图像预处理—几何校正
  9. Pytorch测试模型的GFLOPs和Param大小
  10. wps office 2013 利用wps文字制作一张漂亮的座位表
  11. 程序员女朋友礼物python代码_程序员到底该怎么给女朋友挑礼物
  12. FPGA学习之毛刺问题
  13. 关于计算机的英语笑话,最经典的英语笑话,戳中你的笑点了吗?
  14. HTML+CSS 基础 之页签
  15. SetItemText
  16. 使用JAVA进行ad域身份验证常用属性详解
  17. k8s ipvs模式下vip nodeport规则未创建原因分析
  18. 广西规范市场主体信息归集公示运用 推进社会信用体系建设
  19. Octopus FS 论文阅读 (一)
  20. java如何让程序暂停一会_Java如何暂停线程一段时间?

热门文章

  1. 采用C#泛型实现状态(State)模式
  2. fdisk添加分区引起的Linux Error: 22: Invalid argument
  3. Yosemite上手动增加基于POP3协议的QQ邮箱账记
  4. Linux 防火墙配置
  5. JAVAWeb开发之Servlet-19.Filter
  6. 支持ie与FireFox的剪切板代码
  7. python写入日志文件时日志内容重复写入
  8. nGrinder Loadrunner vs nGrinder
  9. 重写( override)and 重载(overload)
  10. oracle数据库创建表空间和表临时空间