参考书籍《MySQL入门很简单》

数据类型是数据的一种属性,可以决定数据的存储方式、有效范围和相应的限制。

1.整数类型

  1.1 MySQL的整数类型

MySQL中int类型和integer类型是一样的。

  1.2 指定类型的显示宽度

数据类型(显示宽度)

默认显示宽度:

一个数据类型的默认显示宽度刚好能显示该数据类型的所有值。默认显示宽度其实也是最大宽度。

如果设置的宽度小于默认宽度,依然可以插入大于显示宽度但是不超过默认宽度的值。这时候设置的宽度在显示该记录时失效。但是不能插入超过默认宽度的数值。

  1.3 zerofill参数

参数不足的显示空间由0来填补。在使用该参数的时候,会自动加上unsigned属性,即该整数类型只能表示无符号数,且显示宽度比默认宽度小1.

  1.4 auto_increment属性

自增字段,在插入新的记录时,该字段的值都会在前一条记录的基础上加1.

2.浮点数类型和定点数类型

  2.1 float, double, cecimal 

MySQL使用浮点数和定点数表示小数。浮点数包括单精度浮点数(float)和双精度浮点数(double)。定点数类型就是decimal型。

decimal型的取值范围与double相同。decimal的有效取值范围由M和D决定,并且decimal的字节数是M+2,也就是说定点数的存储空间是根据其精度决定的。

  2.2 指定精度

数据类型(M, D)

M:精度,是数据的总长度,小数点不占位数;D:标度,指小数点后的长度。

以上指定小数精度的方法对于浮点数和定点数都是适用的,但是,不是浮点数的标准方法,在定义浮点数的时候尽量不要使用,否则会影响数据库迁移。

  2.3 精度控制

插入值的精度高于实际定义的精度,系统会自动四舍五入,使值的精度达到要求。区别在于:

  • float和double型在四舍五入的时候不会报错,而decimal型会有警告;
  • float和double型默认保存实际精度,这与操作系统和硬件的精度有关;
  • decimal型默认整数位为10,小数位为0,即默认整数;
  • MySQL中定点数以字符串形式存储,精度比浮点数要高;
  • 浮点数会出现误差(浮点数一直存有的缺陷),如果对数据精确度要求比较高,选择定点数。

MySQL入门笔记 - 数据类型的更多相关文章

  1. MySQL入门笔记

    MySQL入门笔记 版本选择: 5.x.20 以上版本比较稳定 一.MySQL的三种安装方式: 安装MySQL的方式常见的有三种: ·          rpm包形式 ·          通用二进制 ...

  2. MySQL入门笔记(一)

    一.数据类型 1. 整型 2. 浮点型 3. 字符型 4. 日期时间型 二.数据库操作 1. 创建库 CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_nam ...

  3. MySQL入门笔记(二)

    MySQL的数据类型.数据库操作.针对单表的操作以及简单的记录操作可参考:MySQL入门笔记(一) 五.子查询   子查询可简单地理解为查询中的查询,即子查询外部必然还有一层查询,并且这里的查询并非仅 ...

  4. MySQL入门笔记 - 视图

    参考书籍<MySQL入门很简单> 1.视图定义 视图是从一个或者多个表中导出来的虚拟的表,透过这个窗口可以看到系统专门提供的数据,使用户可以只关心对自己有用的数据,方便用户对数据操作,同时 ...

  5. MySQL入门笔记 - 数据库概述

    参考书籍<MySQL入门很简单> 1.数据库 数据库(DataBase)是一个存储数据的仓库,将数据按照特定的规律存储在磁盘上. 2.数据存储方式 数据存储方式分为3个阶段:人工管理阶段. ...

  6. MySQL入门笔记一

    MySQL应用笔记   一MySQL关系型数据库.开源,中小型公司常用类型的数据库Oracle 大型公司常用数据库 MySQL基本的命令一. 创建.删除.查看数据库(database)创建库creat ...

  7. MYSQL学习笔记——数据类型

    mysql的数据类型可以分为三大类,分别是数值数据类型.字符串数据类型以及日期时间数据类型. 数值数据类型                                               ...

  8. MySQL学习笔记--数据类型

    一.数据类型(内容参考<SQL学习指南>)不完整 1.文本类型 文本类型 最大字节数 tinytext 255 text 65535 varchar 65536 mediumtext 16 ...

  9. MYSQL基础笔记(六)- 数据类型一

    数据类型(列类型) 所谓数据烈性,就是对数据进行统一的分类.从系统角度出发时为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中讲数据类型分成三大类:1.数值类型,2.字符串类型和时间日期 ...

随机推荐

  1. 配置nginx+tomcat支持websocket

    问题情景:    最近开发新增加一个项目,需要支持https wss协议 访问https://test.aa.com  使用nginx反向代理到后端tomcat web应用 访问https://tes ...

  2. windows安装tensorflow的一个教训

    今天没什么课,然后就准备安装tensorflow. 看了一下教程,就去做了. 然后就犯了错误.网上的教程还是有一些差异的,而我又比较大意,没有很注意到CUDA,cudnn的版本要求,也过于高估自己cp ...

  3. win10x64下的redis安装与使用

    先引用百度百科的一段话吧,具体可以到百科查看吧. Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年 ...

  4. canvas之刮刮乐

    效果图: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  5. ubuntu16.04中将python3设置为默认+永久去除Ubuntu16.04报错

    直接执行这两个命令: sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo updat ...

  6. CSS3---关于背景

    1.background-origin:设置元素背景图片的原始起始位置. background-origin : border-box | padding-box | content-box;    ...

  7. linux网络原理

    1.ipconfig命令使用 显示所有正在启动的网卡的详细信息或设定系统中网卡的IP地址. 某一块网卡信息 打开或者关闭某一块网卡 2.ifup和ifdown ifup和ifdown分别是加载网卡信息 ...

  8. 【模板】CDQ分治

    __stdcall大佬的讲解 这里贴的代码写的是点修改.区间查询的题. #include<cstdio> #include<cstring> #include<algor ...

  9. AGC 033

    目录 A. Darker and Darker B. LRUD Game 题面 题解 代码 C. Removing Coins 题面 题解 代码 D. Complexity 题面 题解 代码 E. G ...

  10. Python+selenium常用方法(Webdriver API)

    小编整理了目前学习的Python+selenium常用的一些方法函数,以后有新增再随时更新. 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() ...