06、MySQL—列类型
1、整数类型
I.有符号整型
(1) Tinyint:单字节整形,系统采用一个字节来保存的整形:一个字节 = 8位,最大能表示的数值是0-255.
(2) Smallint:双字节整形,系统采用两个字节来保存的整形:能表示0-65535之间
(3) Mediumint:三字节整形,采用三个字节来保存数据
(4) Int:整形(标准整形),采用四个字节来保存数据
(5) Bigint:大整形,采用八个字节来保存数据。
① 创建数据表

② 插入合理数据

③ 插入错误数据(超出对应的数据范围)

错误原因:并不是说tinyint没有这么大的空间,而是因为mysql默认的为整形增加负数。
实际表示的区间为-128,127
实际应用中,应该根据对应的数据的范围来选定对应的整形类型:通常使用的比较多的TINYINT和int。
II.无符号整型
无符号:表示存储的数据在当前字段中,没有负数(只有正数,区间为0-255)
|
基本语法: 在类型之后加上一个 unsigned |
范例:创建无符号整型数

III 显示长度
显示长度:指数据(整型)在数据显示的时候,到底可以显示多长位。
Tinyint(3): 表示最长可以显示3位,unsigned说明只能是正数,0-255永远不会超过三个长度
Tinyint(4):表示最长可以显示4位,-128~127
显示长度只是代表了数据是否可以达到指定的长度,但是不会自动满足到指定长度:如果想要数据显示的时候,保持最高位(显示长度),那么还需要给字段增加一个zerofill属性才可以。
Zerofill:从左侧开始填充0(左侧不会改变数值大小),所以负数的时候就不能使用zerofill,一旦使用zerofill就相当于确定该字段为unsigned
范例:使用zerofill创建数据

说明:
数据显示的时候,zerofill会在左侧填充0到指定位:如果不足3位,那么填充到3位,如果本身已经够了或者超出,那么就不在填充。

说明:
显示长度可以自己设定:超出长度(但是不超出范围)不会影响,只会对不够长度的进行补充(显示长度)

2、小数类型
专门用来存储小数的;在Mysql中将小数类型又分为两类:浮点型和定点型
I 浮点型
浮点型又称之为精度类型:是一种有可能丢失精度的数据类型,数据有可能不那么准确(由其是在超出范围的时候)
说明:浮点型之所以能够存储较大的数值(不精确),原因就是利用存储数据的位来存储指数
整型:所有位都为1
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
计算结果:
浮点型:有部分用于存储数据,有部分用于存指数
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
前三位转换成十进制之后用作10的指数: 10^7 * 数据值
(1) Float
Float又称之为单精度类型:系统提供4个字节用来存储数据,但是能表示的数据范围比整型大的多,大概是10^38;只能保证大概7个左右的精度(如果数据在7位数以内,那么基本是准确的,但是如果超过7位数,那么就是不准确的)。
|
基本语法: Float:表示不指定小数位的浮点数 |
|
基本语法: Float(M,D):表示一共存储M个有效数字,其中小数部分占D位 |
|
基本语法: Float(10,2):整数部分为8位,小数部分为2位 |
① 创建一个数据表保存浮点数据

② 存入数据:合法数据

注意:如果数据精度丢失,那么浮点型是按照四舍五入的方式进行计算
③ 插入数据,超出大小

④ 数据长度刚好满足条件,但是会超出精度

说明:
用户不能插入数据直接超过指定的整数部分长度,但是如果是系统自动进位导致,系统可以承担。
⑤ 浮点数可以采用科学计数法来存储数据

浮点数的应用:通常是用来保存一些数量特别大,大到可以不用那么精确的数据。
(2) Double
Double又称之为双精度:系统用8个字节来存储数据,表示的范围更大,10^308次方,但是精度也只有15位左右。
II 定点数
定点数:能够保证数据精确的小数(小数部分可能不精确,超出长度会四舍五入),整数部分一定精确
(1) Decimal
Decimal定点数:系统自动根据存储的数据来分配存储空间,每大概9个数就会分配四个字节来进行存储,同时小数和整数部分是分开的。
|
基本语法: Decimal(M,D):M表示总长度,最大值不能超过65,D代表小数部分长度,最长不能超过30。 |
① 创建表:与浮点数对比

② 插入正常数据

③ 插入最大数据

④ 尝试定点数进行四舍五入

定点数的应用:如果涉及到钱的时候有可能使用定点数,涉及到精确度较高的情况下,推荐使用定点数。
06、MySQL—列类型的更多相关文章
- MySQL服务 - MySQL列类型、SQL模式、数据字典
MySQL列类型的作用: 列类型可以简单理解为用来对用户往列种存储数据时做某种范围"限定",它可以定义数据的有效值(字符.数字等).所能占据的最大存储空间.字符长度(定长或变长). ...
- mysql基础: mysql列类型--字符串
mysql列类型:整型 http://blog.csdn.net/jk110333/article/details/9342283 mysql列类型--时间和日期 http://blog.csd ...
- mysql基础:mysql列类型--时间和日期
mysql列类型--整型 http://blog.csdn.net/jk110333/article/details/9342283 mysql列类型--字符串http://blog.csdn.net ...
- mysql列类型
mysql三大列类型 整型 tinyint(占据空间:1个字节 存储范围 有符号 -128-127 无符号 0-255) smallint mediumint int big ...
- mysql 列类型以及属性特点
整形列: 一个字节有8个位,例如:int 类型的列存入数字1,00000000 00000000 00000000 00000001它就在最低位置上存入一个1,由此可见是极大的浪费资源,所以在建立列类 ...
- MySQL列类型选择
比如年龄这个字段可以使用 1990-03-15 也可以用 19900315表示在列类型上可以选择 char 和 int:如果一个字段可以选择多种类型,尽量选择一个更快的类型:字段类型优先级 ...
- mysql列类型char,varchar,text,tinytext,mediumtext,longtext的比较与选择
储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 – 1) 个字符. TEXT 最大长度是 65535 (2^16 – 1) 个字符. MEDIUMTEXT 最大长度是 16 ...
- mysql 列类型
- mysql基础:列类型--整型
mysql列类型--字符串 http://blog.csdn.net/jk110333/article/details/9342301 mysql列类型--时间和日期 http://blog. ...
随机推荐
- 创建asp.net core 的静态网站
这个名字听起来很怪 既然是静态网站 为什么要是asp.net core的呢? 1.在vs上面好像不能创建纯静态的网站,所以我们就想创建一个asp.net core的空网站 然后在里面使用静态的html ...
- 2-1 Consul简介
Consul英文意思是大使馆. Consul主要干3件事情: 1.提供服务到ip地址的注册. 2.提供服务到ip地址列表的查询. 3.对提供服务方的健康检查. Consul官网 :https://ww ...
- explanatory variable(independent vs dependent)、design matrix
design matrix(设计矩阵) 是统计学上的概念,一般标记为 X,是由一组对象的解释变量(explanatory variables)构成的矩阵. 1. explanatory variabl ...
- 新版【CefSharp】 禁用右键菜单 43.00+
原文:新版[CefSharp] 禁用右键菜单 43.00+ 禁用右键菜单其实是很容易的.主就要是实现一个接口 IMenuHandler ,这个接口有一个 OnBeforeContextMenu 的方 ...
- 好用的Markdown 编辑器及工具
Markdown 是 2004 年由 John Gruberis 设计和开发的纯文本格式的语法,所以通过同一个名字它可以使用工具来转换成 HTML.readme 文件,在线论坛编写消息和快速创建富文本 ...
- C++该typeid和dynamic_cast
1.typeid在没有虚拟函数的(不相关的动态绑定),typeid它只返回操作对象的实际类型 2.typeid涉及到动态联编问题时(使用基类指针p或者引用p操作派生类对象),typeid(p)返回基类 ...
- Layui 2.0.0 正式发布:潜心之作,开箱即用的前端UI框架(确实很多内容)
Hi,久违了.处暑逼近之际,潜水半年的 layui 是时候出来透透气了.我们带来的是全新的 2.0 版本,一次被我们定义为“破茧重生”的倾情之作.如果你已曾用过 layui,你将真正感受到一次因小而大 ...
- sql 从未连续的Id中选择10~30条数据
select * from(select *,row_number()over(order by ProductID) as num from Products) as t where t.num&g ...
- MEF 插件式开发 - WPF 初体验
原文:MEF 插件式开发 - WPF 初体验 目录 MEF 在 WPF 中的简单应用 加载插件 获取元数据 依赖注入 总结 MEF 在 WPF 中的简单应用 MEF 的开发模式主要适用于插件化的业务场 ...
- Reverse Engineering Custom DataTypes -> GUID() in SQL Server to PostgreSQL
原文 https://archive.sap.com/discussions/thread/3641585 First you reverse engineer from a script where ...