2019独角兽企业重金招聘Python工程师标准>>>

MySQL数据库中,通过存储引擎来觉得表的类型,即觉得表的存储方式。同时,MySQL中也提供了数据类型来觉得存储的数据的类型,MySQL中常见的数据类型有:整数类型,浮点数类型,定点数类型和为类型,日期和时间类型,字符串类型。

1.整数类型

   

1.1 我们知道计算机底层只识别二进制码,整数类型的数据也不例外,只不过整数是有符号数(正负数),因此二进制码表示的数左边第一个位代表符号位(0整数,1负数)。这里tinyint是1个字节,即8位二进制数。所以,tinyint的最大值可表示为:,转换为十进制为:2^7-1;      最小可以表示为:,转换为十进制为:-2^7。

1.2 MySQL支持数据类型后面指定该类型显示的宽度

(1)例如:int(4)表示int类型的数值显示宽度为4位,显示宽度和数据类型的取值范围是无关的。显示宽度只是指明MySQL最大可能显示的数字的个数,数值的位数小于指定的显示宽度时会在数字的左侧填充空格。如果插入了大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且能够显示出来。

几种整数类型的默认宽度分别是:

2.浮点类型和定点类型

2.1 MySQL中可以指定可以指定浮点型数据类型的精度

格式:float(m,d)、double(m,d);其中参数m称为精度,是数值的总长度,小数点不占位置;参数d是指小数点后的长度。例如,float(6,2)的含义是float类型,数据长度为6,小数点后保留2位。则:1234.56是符合要求的。

PS:(1)上述指定小数精度的方法虽然都适合于浮点数和定点数,但不是浮点数的标准用法。建议在定义浮点数时,如果不是实际情况需要,最好不要使用。

(2)对于定点数而言,decimal(m,d)是定点数的标准格式,一般情况下可以选择这种数据类型。

(3)如果插入值的精度高于实际定义的精度,系统会自动进行四舍五入处理,使值的精度达到要求。不同的是,float型和double型在四舍五入时不会报错,而decimal型会有警告。

2.2 精度使用举例

当我们插入的数据精度不满足定义的数据类型精度时,我们的数据任就能插入成功,但会有警告的错误信息提示。

当我们查询结果时发现数据被截断了,和原始数据相比MySQL采用了四舍五入的方法使得数据满足定义的精度。

ps:在MySQL中,定点数以字符串的形式存储,因此,其精度比浮点数要高,而浮点数会出现误差。如果要对数据的精度要求比较高,还是选择定点数(DECIMAL)比较安全。在对精度要求比较高的时候(如货币、科学数据等)使用DECIMAL的类型比较好,另外两个浮点数进行减法和比较运算时也容易出问题,所以在使用浮点型时需要注意,并尽量避免做浮点数比较。

3.日期和时间类型

ps: 如果存储年月日时分秒,并且年份的取值可能比较久远,最好使用datetime类型,而不是timestamp类型,因为前者比后者所表示的日期范围要长一些。如果存储的日期需要让不同时区的用户使用,则可以使用timestamp类型,因为只有改类型日期能够和实际时区相对应。

4.字符串类型

请看博客:http://www.baike369.com/content/?id=5551

http://www.baike369.com/content/?id=5552

转载于:https://my.oschina.net/sxshifeifei/blog/704648

MySQL基础:数据类型相关推荐

  1. MySQL 基础 —— 数据类型、各种变量

    1. 基本数据类型 char:prod_id char(10),括号内的内容表示字符的长度 decimal:十进制,不带参数为整数(四舍五入) text:文本类型,长度不限 2. 日期和时间处理函数 ...

  2. MySQL基础数据类型

    一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 #1. 数字:整型:tinyinit int bigint小数:float :在位数比较 ...

  3. mysql基础数据类型字节数_MySQL基础之数据类型

    1.整数类型 整数类型包括: 整数类型 字节数 无符号数的取值范围 有符号的取值范围 TINYIN 1 0~255 -128~127 SMALLINT 2 0~65535 -32768~32768 M ...

  4. 初识mysql数据字段属性_MySQL数据库~~~~初识、基础数据类型

    一 数据库初识 1.1 什么是数据库 数据库(DataBase,简称DB),简而言之可视为电子化的文件柜----存储电子文件的处所,用户可以对文件中的数据运行新增,截取,更新,删除等操作. 所谓数据库 ...

  5. mysql8.0日期类型_mysql8.0.19基础数据类型详解

    mysql基础数据类型 mysql常用数据类型概览 ![1036857-20170801181433755-146301178](D:\笔记\mysql\复习\1036857-201708011814 ...

  6. MySQL 基础————常用数据类型

    引言 从第一次学习mysql开始,不知道为什么MySQL的数据类型始终没有像Java 一样深入脑海,对某些数据类型的定义和用法,也并不清晰,这篇文章,就好好总结一番,将MySQL中几个常用的数据类型归 ...

  7. MySQL基础——DDL语言学习\数据库的建立\MySQL数据类型\MySQL常见约束\表的增删改

    接上篇文章 MySQL基础--数据库和SQL概述\MySQL基本使用\DQL语言学习 DDL语言学习 Data Definition Language 数据定义语言 主要用于数据库和数据表的管理和操作 ...

  8. MySQL常见数据类型(小胖虎带你了解MySQL基础知识,只为博君一关注)

    MySQL 常见数据类型 类型分类 类型 取值范围或描述 示例 整数类型 tinyint 0 -255 (长度最短) 员工年龄:32 smallint -32768-32767 员工数:2540 in ...

  9. mysql 存储引擎 面试_搞定PHP面试 - MySQL基础知识点整理 - 存储引擎

    MySQL基础知识点整理 - 存储引擎 0. 查看 MySQL 支持的存储引擎 可以在 mysql 客户端中,使用 show engines; 命令可以查看MySQL支持的引擎: mysql> ...

最新文章

  1. CSS常用菜单(三)
  2. Router Modules模块化
  3. 远控免杀专题(21)-HERCULES免杀
  4. 简单的自动更新程序实现
  5. Flutter Row和 Column 布局、线性布局概述
  6. webbrowser 访问iframe拒绝访问_电脑无法删除文件访问被拒绝【解决方案】
  7. 粗糙集的基础理论汇总
  8. 多线程的那点儿事(之多线程数据结构)
  9. 2019-2、CentOS7_直播服务搭建_nginx_nginx-http-flv-module
  10. 当编程之于爱情就如鱼之于熊掌般不可兼得时,该怎么办?
  11. 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_03-项目概述-技术架构...
  12. 关于 SQLNET.AUTHENTICATION_SERVICES 验证方式的说明
  13. 易语言卷帘菜单与json_易语言卷帘式菜单加背景图片源码
  14. JSON.stringify的认知历程
  15. 捷信达酒店管理系统使用说明-前言
  16. 如何将socket服务器部署到云服务器上
  17. opencv实现移动速度计算
  18. C++基础之什么是面向对象
  19. MAC OS 虚拟机里的control键设置
  20. 手把手教你做树莓派魔镜-MagicMirror(七)-接下来

热门文章

  1. java如何被调用_java – 如何知道Parse.initialize()是否已被调用?
  2. python字符串常量_python教程---字符串常量ascii_letters、punctuation、digits、whitespace等...
  3. mysql被拖垮_说几个拖垮系统的小细节!
  4. 河科大c语言上机实验答案,2016年河南科技学院信息工程学院C语言上机编程考研复试题库...
  5. 【java】快速复制数组方法arraycopy的使用
  6. U盘中毒,无法删除System Volume Information文件夹
  7. python简易版实例_Python3之简单搭建自带服务器的实例讲解
  8. 小米:开源不仅要站在巨人的肩膀上,还要为巨人指方向
  9. 【leetcode】589. N-ary Tree Preorder Traversal
  10. MongoDB 正则表达式