MySQL入门笔记 - 数据类型
参考书籍《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入门笔记 - 数据类型的更多相关文章
- MySQL入门笔记
MySQL入门笔记 版本选择: 5.x.20 以上版本比较稳定 一.MySQL的三种安装方式: 安装MySQL的方式常见的有三种: · rpm包形式 · 通用二进制 ...
- MySQL入门笔记(一)
一.数据类型 1. 整型 2. 浮点型 3. 字符型 4. 日期时间型 二.数据库操作 1. 创建库 CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_nam ...
- MySQL入门笔记(二)
MySQL的数据类型.数据库操作.针对单表的操作以及简单的记录操作可参考:MySQL入门笔记(一) 五.子查询 子查询可简单地理解为查询中的查询,即子查询外部必然还有一层查询,并且这里的查询并非仅 ...
- MySQL入门笔记 - 视图
参考书籍<MySQL入门很简单> 1.视图定义 视图是从一个或者多个表中导出来的虚拟的表,透过这个窗口可以看到系统专门提供的数据,使用户可以只关心对自己有用的数据,方便用户对数据操作,同时 ...
- MySQL入门笔记 - 数据库概述
参考书籍<MySQL入门很简单> 1.数据库 数据库(DataBase)是一个存储数据的仓库,将数据按照特定的规律存储在磁盘上. 2.数据存储方式 数据存储方式分为3个阶段:人工管理阶段. ...
- MySQL入门笔记一
MySQL应用笔记 一MySQL关系型数据库.开源,中小型公司常用类型的数据库Oracle 大型公司常用数据库 MySQL基本的命令一. 创建.删除.查看数据库(database)创建库creat ...
- MYSQL学习笔记——数据类型
mysql的数据类型可以分为三大类,分别是数值数据类型.字符串数据类型以及日期时间数据类型. 数值数据类型 ...
- MySQL学习笔记--数据类型
一.数据类型(内容参考<SQL学习指南>)不完整 1.文本类型 文本类型 最大字节数 tinytext 255 text 65535 varchar 65536 mediumtext 16 ...
- MYSQL基础笔记(六)- 数据类型一
数据类型(列类型) 所谓数据烈性,就是对数据进行统一的分类.从系统角度出发时为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中讲数据类型分成三大类:1.数值类型,2.字符串类型和时间日期 ...
随机推荐
- 配置nginx+tomcat支持websocket
问题情景: 最近开发新增加一个项目,需要支持https wss协议 访问https://test.aa.com 使用nginx反向代理到后端tomcat web应用 访问https://tes ...
- windows安装tensorflow的一个教训
今天没什么课,然后就准备安装tensorflow. 看了一下教程,就去做了. 然后就犯了错误.网上的教程还是有一些差异的,而我又比较大意,没有很注意到CUDA,cudnn的版本要求,也过于高估自己cp ...
- win10x64下的redis安装与使用
先引用百度百科的一段话吧,具体可以到百科查看吧. Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年 ...
- canvas之刮刮乐
效果图: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- ubuntu16.04中将python3设置为默认+永久去除Ubuntu16.04报错
直接执行这两个命令: sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo updat ...
- CSS3---关于背景
1.background-origin:设置元素背景图片的原始起始位置. background-origin : border-box | padding-box | content-box; ...
- linux网络原理
1.ipconfig命令使用 显示所有正在启动的网卡的详细信息或设定系统中网卡的IP地址. 某一块网卡信息 打开或者关闭某一块网卡 2.ifup和ifdown ifup和ifdown分别是加载网卡信息 ...
- 【模板】CDQ分治
__stdcall大佬的讲解 这里贴的代码写的是点修改.区间查询的题. #include<cstdio> #include<cstring> #include<algor ...
- AGC 033
目录 A. Darker and Darker B. LRUD Game 题面 题解 代码 C. Removing Coins 题面 题解 代码 D. Complexity 题面 题解 代码 E. G ...
- Python+selenium常用方法(Webdriver API)
小编整理了目前学习的Python+selenium常用的一些方法函数,以后有新增再随时更新. 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() ...