MySQL基础:数据类型
2019独角兽企业重金招聘Python工程师标准>>>
MySQL数据库中,通过存储引擎来觉得表的类型,即觉得表的存储方式。同时,MySQL中也提供了数据类型来觉得存储的数据的类型,MySQL中常见的数据类型有:整数类型,浮点数类型,定点数类型和为类型,日期和时间类型,字符串类型。
1.整数类型
1.1 我们知道计算机底层只识别二进制码,整数类型的数据也不例外,只不过整数是有符号数(正负数),因此二进制码表示的数左边第一个位代表符号位(0整数,1负数)。这里tinyint是1个字节,即8位二进制数。所以,tinyint的最大值可表示为:,转换为十进制为:2^7-1; 最小可以表示为:,转换为十进制为:-2^7。
1.2 MySQL支持数据类型后面指定该类型显示的宽度
(1)例如:int(4)表示int类型的数值显示宽度为4位,显示宽度和数据类型的取值范围是无关的。显示宽度只是指明MySQL最大可能显示的数字的个数,数值的位数小于指定的显示宽度时会在数字的左侧填充空格。如果插入了大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且能够显示出来。
几种整数类型的默认宽度分别是:
2.浮点类型和定点类型
2.1 MySQL中可以指定可以指定浮点型数据类型的精度
格式:float(m,d)、double(m,d);其中参数m称为精度,是数值的总长度,小数点不占位置;参数d是指小数点后的长度。例如,float(6,2)的含义是float类型,数据长度为6,小数点后保留2位。则:1234.56是符合要求的。
PS:(1)上述指定小数精度的方法虽然都适合于浮点数和定点数,但不是浮点数的标准用法。建议在定义浮点数时,如果不是实际情况需要,最好不要使用。
(2)对于定点数而言,decimal(m,d)是定点数的标准格式,一般情况下可以选择这种数据类型。
(3)如果插入值的精度高于实际定义的精度,系统会自动进行四舍五入处理,使值的精度达到要求。不同的是,float型和double型在四舍五入时不会报错,而decimal型会有警告。
2.2 精度使用举例
当我们插入的数据精度不满足定义的数据类型精度时,我们的数据任就能插入成功,但会有警告的错误信息提示。
当我们查询结果时发现数据被截断了,和原始数据相比MySQL采用了四舍五入的方法使得数据满足定义的精度。
ps:在MySQL中,定点数以字符串的形式存储,因此,其精度比浮点数要高,而浮点数会出现误差。如果要对数据的精度要求比较高,还是选择定点数(DECIMAL)比较安全。在对精度要求比较高的时候(如货币、科学数据等)使用DECIMAL的类型比较好,另外两个浮点数进行减法和比较运算时也容易出问题,所以在使用浮点型时需要注意,并尽量避免做浮点数比较。
3.日期和时间类型
ps: 如果存储年月日时分秒,并且年份的取值可能比较久远,最好使用datetime类型,而不是timestamp类型,因为前者比后者所表示的日期范围要长一些。如果存储的日期需要让不同时区的用户使用,则可以使用timestamp类型,因为只有改类型日期能够和实际时区相对应。
4.字符串类型
请看博客:http://www.baike369.com/content/?id=5551
http://www.baike369.com/content/?id=5552
转载于:https://my.oschina.net/sxshifeifei/blog/704648
MySQL基础:数据类型相关推荐
- MySQL 基础 —— 数据类型、各种变量
1. 基本数据类型 char:prod_id char(10),括号内的内容表示字符的长度 decimal:十进制,不带参数为整数(四舍五入) text:文本类型,长度不限 2. 日期和时间处理函数 ...
- MySQL基础数据类型
一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 #1. 数字:整型:tinyinit int bigint小数:float :在位数比较 ...
- mysql基础数据类型字节数_MySQL基础之数据类型
1.整数类型 整数类型包括: 整数类型 字节数 无符号数的取值范围 有符号的取值范围 TINYIN 1 0~255 -128~127 SMALLINT 2 0~65535 -32768~32768 M ...
- 初识mysql数据字段属性_MySQL数据库~~~~初识、基础数据类型
一 数据库初识 1.1 什么是数据库 数据库(DataBase,简称DB),简而言之可视为电子化的文件柜----存储电子文件的处所,用户可以对文件中的数据运行新增,截取,更新,删除等操作. 所谓数据库 ...
- mysql8.0日期类型_mysql8.0.19基础数据类型详解
mysql基础数据类型 mysql常用数据类型概览 ![1036857-20170801181433755-146301178](D:\笔记\mysql\复习\1036857-201708011814 ...
- MySQL 基础————常用数据类型
引言 从第一次学习mysql开始,不知道为什么MySQL的数据类型始终没有像Java 一样深入脑海,对某些数据类型的定义和用法,也并不清晰,这篇文章,就好好总结一番,将MySQL中几个常用的数据类型归 ...
- MySQL基础——DDL语言学习\数据库的建立\MySQL数据类型\MySQL常见约束\表的增删改
接上篇文章 MySQL基础--数据库和SQL概述\MySQL基本使用\DQL语言学习 DDL语言学习 Data Definition Language 数据定义语言 主要用于数据库和数据表的管理和操作 ...
- MySQL常见数据类型(小胖虎带你了解MySQL基础知识,只为博君一关注)
MySQL 常见数据类型 类型分类 类型 取值范围或描述 示例 整数类型 tinyint 0 -255 (长度最短) 员工年龄:32 smallint -32768-32767 员工数:2540 in ...
- mysql 存储引擎 面试_搞定PHP面试 - MySQL基础知识点整理 - 存储引擎
MySQL基础知识点整理 - 存储引擎 0. 查看 MySQL 支持的存储引擎 可以在 mysql 客户端中,使用 show engines; 命令可以查看MySQL支持的引擎: mysql> ...
最新文章
- CSS常用菜单(三)
- Router Modules模块化
- 远控免杀专题(21)-HERCULES免杀
- 简单的自动更新程序实现
- Flutter Row和 Column 布局、线性布局概述
- webbrowser 访问iframe拒绝访问_电脑无法删除文件访问被拒绝【解决方案】
- 粗糙集的基础理论汇总
- 多线程的那点儿事(之多线程数据结构)
- 2019-2、CentOS7_直播服务搭建_nginx_nginx-http-flv-module
- 当编程之于爱情就如鱼之于熊掌般不可兼得时,该怎么办?
- 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_03-项目概述-技术架构...
- 关于 SQLNET.AUTHENTICATION_SERVICES 验证方式的说明
- 易语言卷帘菜单与json_易语言卷帘式菜单加背景图片源码
- JSON.stringify的认知历程
- 捷信达酒店管理系统使用说明-前言
- 如何将socket服务器部署到云服务器上
- opencv实现移动速度计算
- C++基础之什么是面向对象
- MAC OS 虚拟机里的control键设置
- 手把手教你做树莓派魔镜-MagicMirror(七)-接下来
热门文章
- java如何被调用_java – 如何知道Parse.initialize()是否已被调用?
- python字符串常量_python教程---字符串常量ascii_letters、punctuation、digits、whitespace等...
- mysql被拖垮_说几个拖垮系统的小细节!
- 河科大c语言上机实验答案,2016年河南科技学院信息工程学院C语言上机编程考研复试题库...
- 【java】快速复制数组方法arraycopy的使用
- U盘中毒,无法删除System Volume Information文件夹
- python简易版实例_Python3之简单搭建自带服务器的实例讲解
- 小米:开源不仅要站在巨人的肩膀上,还要为巨人指方向
- 【leetcode】589. N-ary Tree Preorder Traversal
- MongoDB 正则表达式