MySQL最佳入门 - MySQL数据类型之存储带小数的类型
本篇文章MySQL版本:
+-----------+
| version() |
+-----------+
| 5.5.53 |
+-----------+
存储带小数的类型
- 浮点数和定点数类型来存储带小数的数值;
- 使用(M,D)的方式设定M的精度(或显示的总位数)和D标度(小数的位数)。
FLOAT
正常格式
创建一个长度为3,小数点之后长度为2的单精度浮点型字段:
mysql> create table t8 (-> col1 float(3,2)-> );
Query OK, 0 rows affected (0.01 sec)
插入一条正常数据:
mysql> insert into t8 values (3.33);
Query OK, 1 row affected (0.00 sec)
插入一条小数点后面只有一位的数据:
mysql> insert into t8 values (3.3);
Query OK, 1 row affected (0.00 sec)
插入一条小数点后面大于指定的长度的数据:
mysql> insert into t8 values (3.333);
Query OK, 1 row affected (0.00 sec)
插入一条小数点后面大于指定长度的数据(四舍五入):
mysql> insert into t8 values (3.336);
Query OK, 1 row affected (0.00 sec)
查询:
mysql> select * from t8;
+------+
| col1 |
+------+
| 3.33 |
| 3.30 |
| 3.33 |
| 3.34 |
+------+
4 rows in set (0.00 sec)
错误用法
插入一条整数长度为2,小数长度为1的数据:
mysql> insert into t8 values(33.3);
Query OK, 1 row affected, 1 warning (0.00 sec)
总长度为3,小数点后面为1,都没有超过规则。但是执行完,返回 一个警告。
看一下结果:
mysql> select * from t8;
+------+
| col1 |
+------+
| 3.33 |
| 3.30 |
| 3.33 |
| 3.34 |
| 9.99 |
+------+
5 rows in set (0.00 sec)
不同版本返回结果不同
- 5.6会提示报错,提示 超出长度范围,是违法数据,原因也就是说默认设置长度为3,小数长度为2,所以插入33.3就等于插入了33.30,超出总长度报错;
- 5.5版本可以正常插入,但是只能插入最大值,也就是 整型1位,小数2位。
DOUBLE
double和float用法大同小异,只是范围广一点,不再做多余陈述;
DECIMAL
mysql> help DECIMAL;
Name: 'DECIMAL'
Description:
DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
- The maximum number of digits (M) for DECIMAL is 65.
- The maximum number of supported decimals (D) is 30.
- If D is omitted,the default is 0.
- If M is omitted, the default is 10.
MySQL最佳入门 - MySQL数据类型之存储带小数的类型相关推荐
- Redis入门第二篇【存储数据结构之string类型】
tags: Redis title: Redis入门第二篇[存储数据结构之string类型] Redis存储的数据结构 Redis支持的数据结构有好几种: It supports data struc ...
- mysql key_block_size_Mysql入门mysql Key_buffer_size参数的优化设置
<Mysql入门mysql Key_buffer_size参数的优化设置>要点: 本文介绍了Mysql入门mysql Key_buffer_size参数的优化设置,希望对您有用.如果有疑问 ...
- MySql基础入门-mysql体系结构
mysql体系结构: 由:连接池组件.管理服务和工具组件.sql接口组件.查询分析器组件.优化器组件. 缓冲组件.插件式存储引擎.物理文件组成. m ...
- SQL快速入门 ( MySQL快速入门, MySQL参考, MySQL快速回顾 )
SQL 先说点废话,很久没发文了,整理了下自己当时入门 SQL 的笔记,无论用于入门,回顾,参考查询,应该都是有一定价值的,可以按照目录各取所需.SQL数据库有很多,MySQL是一种,本文基本都是SQ ...
- 如何向mysql表中添加数据类型_java中怎么把data类型的数据添加到数据库?
这种问题应该算是很初级的问题了,项目一直用的是util包下的date,所以临时看了一下sql.date的源码: 由源码,很容易可以看出来,sql.date提供了两种构造方法: 一. 提供年月日 @De ...
- MySQL基础入门【3】
文章目录 13 补充知识,查询结果的去重 14 连接查询 14.1 什么是连接查询? 14.2 连接查询的分类? 14.3 基础知识 补充,表的别名 14.4 内连接 等值连接 非等值连接 自连接 1 ...
- mysql数据库入门教程
Markdown database notebook Markdown database notebook 1.1. Mysql知识/基础 1.1.1. Msyql的基本知识 1.2. Mysql知识 ...
- mysql从入门到精通之数据库安装图解
Mysql是基于C/S架构的.客户端/服务器Clinent /Server 安装版本建议:对于开源软件,不要追求最新的版本,最好是经过线上测试比较稳定的,也就是生产环境中的稳定版的,请务必选用稳定版本 ...
- 阿里云rds for mysql平台介绍_阿里云RDS for MySQL 快速入门——笔记
1初始化配置 1.1设置白名单 创建RDS实例后,需要设置RDS实例的白名单,以允许外部设备访问该RDS实例.默认的白名单只包含默认IP地址127.0.0.1,表示任何设备均无法访问该RDS实例. 设 ...
最新文章
- 数据库为什么使用B+树而不是B树
- LoadRunner 11.0 - 安装破解(个人试用成功)
- 图解内存搜索工具初步使用
- Lesson 008 —— python 初识
- DL:关于深度学习常用数据集中训练好的权重文件(Deeplab v3、MobileNet、InceptionV3、VGG系列、ResNet、Mask R-CNN )下载地址集合(持续更新)
- centos7离线安装mysql_Centos7离线安装metasploit详细教程
- kaggle(02)-房价预测案例(基础版)
- SAP BUSINESS ONE的优势
- 使用实体框架核心和C#创建具有Dotnet核心的自定义Web爬虫程序
- html在线测试 css,HTML+CSS测试
- SQL server数据缓存依赖
- 针对 Java 开发人员的 C# 编程语言
- /etc/cron.deny 中关闭某一用户的 crontab
- LINUX SHELL中,如何查找某些文件并删除
- 3星|《未来公司》:Uber简史
- unity3d 双人巡逻兵网络游戏
- android缩放组件,Android可放大缩小的图片浏览缩放控件
- 书论55 郝经《移诸生论书法书》
- 取消双Shift全局搜索
- html摄氏度转换华氏度,摄氏温度与K氏和华氏是怎样换算的?
热门文章
- Android人脸识别(已开源)
- Gutenberg 11.8.0 有哪些新变化?
- 大电流导电滑环设计要点一般会有那些
- java中t_java中的'\t'是什么意思?
- 社区共读《Python编程从入门到实践》第三天阅读建议
- 简户检测 | 上海可靠性——电子胶带剥离力测试、胶带初粘力试验、胶黏剂剪切强度试验、高速剥离力测试、拉力测试
- UE4虚幻引擎,编辑器基础应用,使用技巧(五)
- HBase的核心模块介绍
- 网页注册表单设计原则
- 从One-hot, Word embedding到Transformer,一步步教你理解Bert