MySql常用数据类型分析
整数类型
TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT
- 分别使用8,16,24,32,64位存储空间,值得范围-2的(N-1)方到2的(N-1)方-1。根据需要存储的范围大小,选择最小的数据类型。根据实际情况,选择使用UNSIGNED属性。
- 数据类型只决定怎么保存数据,计算一般使用BIGINT整数。
- 整数可以指定宽度,例如INT(11)。一般是没有意义的,不会限制值得合法范围,只是规定交互工具的显示位数。对于存储和计算,INT(1)和INT(20)是一样的。
实数类型
FLOAT、DOUBLE、DECIMAL
- 因为CPU不支持对DECIMAL计算,CPU支持原生浮点计算,所以浮点计算更快。
- 浮点和DECIMAL都可以指定精度,但是对浮点的精度,MySql一般选择不同的数据类型或者存储时对值进行取舍,都是非标准的,所以建议只指定数据类型,不指定精度。
- 浮点的使用空间比DECIMAL小,FLOAT使用4个字节,DOUBLE使用8个字节,有更高的精度和范围,所以MySql内部使用DOUBLE计算浮点。
- 一般情况下实数类型选择浮点类型,如果需要对小数精确计算使用DECIMAL。如果数据量比较大,可以使用BIGINT代替DECIMAL,程序控制小数点位数。
字符串类型
varchar、char、blob、text
- varchar类型用于存储可变长的字符串,比定长类型更节省空间。(有例外的情况,如果使用ROW_FORMAT=FIXED创建的话,每一行都会使用定长存储,但是varchar需要使用1或2个额外的字节记录字符串的长度。)
- 使用varchar的情况:字符串的最大长度比平均长度大很多;列的更新很少,所以不会有碎片;
- char类型是定长的,适合存储很短的字符串,或者所有值接近同一个长度,例如MD5值。
- 一般情况下都可以选择varchar类型,但是注意只分配真正需要的空间。
日期和时间类型
DATETIME、TIMESTAMP
- DATETIME能保存从1001年到9999年,精度为妙,与时区无关。而TIMESTAMP只能保存1970年到2038年,显示的值依赖于时区。
- TIMESTAMP拥有DATETIME没有的属性,如果在插入时没有指定第一个TIMESTAMP值,MySql则设置这个列的值为当前时间。在更新一个记录时,MySql会默认更新第一个TIMESTAMP值(除非在UPDATE时指定了值)。TIMESTAMP默认为NOT NULL。
- 除了特殊情况下,尽量使用TIMESTAMP,因为它比DATETIME的效率更高。
MySql常用数据类型分析的更多相关文章
- MySQL数据库3 - MySQL常用数据类型
一. MySql常用数据类型 数据类型:整数(tinyint smailint int bigint) 定点数 decimal(p,s) ------ 小数点位置固定的 ---> 数 ...
- Mysql常用数据类型
Mysql常用数据类型 数字: 字符串: 时间:
- Mysql常用数据类型归纳总结1
一直在用Mysql数据库,Mysql的数据类型也最常打交道的.但关于Mysql的一些常用数据类型了解程度仅限于一知半解,仅仅能满足满足于平时一些最简单的操作.而Mysql常用数据类型的定义以及规范理解 ...
- Mysql常用数据类型详细说明及实例说明(学习笔记一)
1.Mysql 在windows下 Net start mysql[启动] Net stop mysql[停止] Quit[退出mysql命令行] \c[取消输入的命令] Select version ...
- Mysql 常用数据类型 占用字节数 [转]
数据类型是定义列中可以存储什么数据以及该数据实际怎么存储的基本规则.Mysql的常用数据类型主要有: 串数据类型:最常用的数据类型,有两种基本的串类型:分别为定长串和不定长串.定长串结束长度固定的字符 ...
- MySQL常用数据类型 length 专题
MySQL-data_type数据类型 1.查看数据类型 mysql> help data type //通过help对数据进行查看,以及使用的方法 2.MySQL常见的数据类型 整数in ...
- MySQL常用数据类型小结
在 MySQL 中,有三种主要的类型:字符串.数字和日期/时间类型. 目录 [隐藏] 1 字符串类型 2 数值类型 3 日期和时间类型 4 使用建议 5 艺搜参考 字符串类型 CHAR 0-255字 ...
- MySQL常用数据类型及细节
目录 1 整数类型 1.1 可选属性 1.1.1 M 1.1.2 UNSIGNED 1.1.3 ZEROFILL 2 浮点类型 2.1 精度误差 3 定点数类型 3.1 数据精度说明 3.2 类型介绍 ...
- mysql常用数据类型的选择
时间戳可以用int来存储 ip地址的存储数据类型,可以使用INET_ATON 和INET_NTOA来配合bigint类型来代替varchar
随机推荐
- 先说IEnumerable,我们每天用的foreach你真的懂它吗?
我们先思考几个问题: 为什么在foreach中不能修改item的值? 要实现foreach需要满足什么条件? 为什么Linq to Object中要返回IEnumerable? 接下来,先开始我们的正 ...
- Asp.net Core中使用Session
前言 2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年. 元旦放假在家写了个Asp.net Core验证码登录, 做demo的过程中遇到两个小问题,第一是在Asp.net Cor ...
- ASP.NET Aries 入门开发教程4:查询区的下拉配置
背景: 今天去深圳溜达了一天,刚回来,看到首页都是微软大法好,看来离.NET的春天就差3个月了~~ 回到正题,这篇的教程讲解下拉配置. 查询区的下拉配置: 1:查询框怎么配置成下拉? 在配置表头:格式 ...
- 让kindeditor显示高亮代码
kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: ...
- Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用
通过本文你将学会如下内容: 1,如何使用Xamarin开发跨平台(Windows,Android,iOS)应用. 2,如何使用微软的登录界面登入Microsoft账号. 3,如何使用Outlook邮箱 ...
- 【Machine Learning】机器学习及其基础概念简介
机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
- 玩转spring boot——结合AngularJs和JDBC
参考官方例子:http://spring.io/guides/gs/relational-data-access/ 一.项目准备 在建立mysql数据库后新建表“t_order” ; -- ----- ...
- JAVA程序员常用软件整理下载
********为了大家学习方便,特意整理软件下载如下:*************Java类软件:-------------------------------JDK7.0:http://pan.ba ...
- 【干货分享】流程DEMO-请休假
流程名: 请假申请 流程相关文件: 流程包.xml WebService业务服务.xml WebService.asmx WebService.cs 流程说明: 流程中集成了webservice服 ...
- [jquery]显示隐藏div标签的几种方法
1.$("#demo").attr("style","display:none;");//隐藏div $("#demo" ...