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.字符串类型和时间日期 ...
随机推荐
- node.js中使用Redis
服务端: 启动Redis服务: redis-server 客户端: 1.安装Redis npm install redis --save 2.redisTest.js文件 //引入red ...
- Java数据结构和算法(三)--三大排序--冒泡、选择、插入排序
三大排序在我们刚开始学习编程的时候就接触过,也是刚开始工作笔试会遇到的,后续也会学习希尔.快速排序,这里顺便复习一下 冒泡排序: 步骤: 1.从首位开始,比较首位和右边的索引 2.如果当前位置比右边的 ...
- vue2.0中transition组件的用法
作用:实现元素进入/离开的过渡效果. 首先,让我们举个栗子: <!DOCTYPE html> <html lang="en"> <head> & ...
- 快速部署jumpserver堡垒机
jumpserver版本:Version 1.4.1-2 (社区版) 主机IP地址:10.0.0.105 准备环境1.安装依赖yum -y install wget sqlite-devel xz g ...
- JS提前声明和定义方式
来源:JS的函数定义方式以及对声明的提前 以下代码,声明语句会被提前到当前作用域(全局作用域和函数作用域)的顶部.但赋值语句不会提前,依然留在原地 var x = function(){}; var ...
- scrapy yield 回调函数不执行解决方案
yield Request(url=parse.urljoin(response.url, p_url),callback=self.parse_detail) 回调函数不执行: 加上: dont_f ...
- Sql按照字段分组,选取其他字段最值所在的行记录
引言: 为什么会引入这个问题,在程序中遇到这样的问题,在某个数据表中,相同的AID(项目ID)被多次添加到数据表中,所以对应于不同的时间,只想选取添加时间最早的哪一条记录. 参考:红黑联盟 所用到的数 ...
- Android开发——Accessibility机制实现模拟点击(微信自动抢红包实现)
1. 何为Accessibility机制 许多Android使用者因为各种情况导致他们要以不同的方式与手机交互.对于那些由于视力.听力或其它身体原因导致不能方便使用Android智能手机的用户,And ...
- 如何安装python包
安装python包有两种方法: 使用Python包管理器pip工具 在Linux系统中,首先 yum install python-pip 然后就可以欢快的pip install *** 啦 源代码安 ...
- ZOJ3860-Find the Spy
Find the Spy Time Limit: 2 Seconds Memory Limit: 65536 KB Whoooa! There is a spy in Marjar Univ ...