整数

整数有 TINYINT, SMALLINT, MEDIUMINT, INT 和 BIGINT 类型。

占用    8          ,  16            24,            32,     64      bit。

为整数指定长度没有意义,如 INT(11) ,它能存储的还是 32 位数据。

实数

DECIMAL 运算没有精度丢失。

FLOAT,DOUBLE 运算有精度丢失。

DECIMAL 可以存储准确的小数和整数位,如 DECIMAL(18,9)

由于 DECIMAL 在空间占用上比较多,并且运算复杂,一般只用来存储不允许精度丢失,并且要得到准确的小数位数的场合,比如说金融数据。

String 类型

1. VCHAR 类型和 CHAR 类型

VARCHAR 用来存储变长的字符数据,并且需要额外的一到两个字节来存储字符数据的长度。

VARCHAR 一般用来存储 5000 字符以下的数据。

CHAR 用来存储定长的字符数据。适用于列的长度都非常短或者存储数据的长度近似一致的场合。如 MD5,存储 Y,N 数据。

2. BLOB 和 TEXT 类型

BLOB 和 TEXT 用在存储大量数据(包括二进制和字符型)的场合。

两者的区别在于,BLOB 存储的是二进制数据,而 TEXT 存储的是字符数据

TEXT 一般用来存储 5000 字符以上的数据,对于这样的数据,应该单独独立出一张表,用 id 对应,以免影响母表的索引效率。

3. 在一些场合,可以使用 enum 来代替 STRING 类型

DATE 和 TIME 类型

DATE 的精度是秒,格式是 YYYYMMDDHHMMSS,和时区无关。

存储范围: 1001-9999

TIMESTAMP 的精度是S,存储的是从1970.1.1 零点到当前过去的秒数。依赖于时区。

MySQL 数据类型总结及选取准则的更多相关文章

  1. MySQL数据类型--日期时间

    一.博客前言 自接触学习MySQL已有一段时间了,对于MySQL的基础知识还是略懂略懂的.在这一路学习过来,每次不管看书还是网上看的资料,对于MySQL数据类型中的时间日期类型总是一扫而过,不曾停下来 ...

  2. 详解MySQL数据类型

    原文地址http://www.cnblogs.com/xrq730/p/5260294.html,转载请注明出处,谢谢! 前言 很久没写文章,也有博友在我的有些文章中留言,希望我可以写一些文章,公司项 ...

  3. MySQL(数据类型和完整约束)

    MySQL数据类型 MySQL支持多种数据类型,主要有数值类型.日期/时间类型和字符串类型. 1.数值数据类型 包括整数类型TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT. ...

  4. MySQL数据类型以及基本使用详解

    MySQL数据类型以及基本使用详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL服务器的主要组件 我们知道MySQL的主要组件主要是由服务端(mysqld)和客户端 ...

  5. 2-14-2 MySQL数据类型

    MySQL数据类型: 对数据进行分类,针对不同分类进行不同的处理. 1. 使系统能够根据数据类型来操作数据. 2. 预防数据运算时出错. 3. 更有效的利用空间. 数据分类,可以使用最少的存储,来存放 ...

  6. 🚴‍♂️全套MySQL数据库教程_Mysql基础入门教程,零基础小白自学MySQL数据库必备教程☔ #002 # 第二单元 MySQL数据类型、操作表#

    二.本单元知识点概述 (Ⅰ)知识点概述 二.本单元教学目标 (Ⅰ)重点知识目标 1.Mysql的数据类型2.如何选择数据类型3.创建表4.修改表5.删除表 (Ⅱ)能力目标 1.熟练创建数据库及删除数据 ...

  7. mysql 数据类型

    1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节  范围(-128~127) smallint(m) 2个字节  范围(-32768~32767) mediumint(m) ...

  8. MySQL 数据类型 详解

    MySQL 数据类型 详解 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 My ...

  9. MySQL数据类型的验证

    CHAR char (M) M字符,长度是M*字符编码长度,M最大255. 验证如下: mysql)) default charset=utf8; ERROR (): ); use BLOB or T ...

随机推荐

  1. php socket 简单理解

    以下内容转自:https://www.cnblogs.com/loveyoume/p/6076101.html 和 https://www.cnblogs.com/WuNaiHuaLuo/p/6107 ...

  2. 引入阿里的druid

    Druid首先是一个数据库连接池,但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser. Druid支持所有JDBC兼容的数据库,包括 ...

  3. django实战-留言板

    对应github链接:https://github.com/pshyms/django/tree/master/liuyanban 第一天 1. 创建一个新项目后,新建一个应用程序 python ma ...

  4. 手机APP测试点总结

    一.功能性测试: (1)根据产品需求文档编写测试用例 (2)软件设计文档编写用例 二.兼容性适配性测试: (1)Android.iOS版本的兼容性 (2)手机分辨率兼容性 (3)网络的兼容性:2G/3 ...

  5. Android中LayoutParams的用法

    简单说说 自己对 android LayoutParams的理解吧,xh写不出高级文章是低级写手.public static classViewGroup.LayoutParamsextends Ob ...

  6. python基础知识梳理----3基本数据类型,int,bool,str ,for 循环,迭代

    一:python的基本类型 1.int  -----整数,主要进行数学运算 2.str  -----字符串,可以保存少量数据,并进行相关操作, 3. bool ---布尔类型,判断真假 4.list ...

  7. python3的全局变量和局部变量

    局部变量 定义在函数体内部的变量称为局部变量 函数的形参也是局部变量 局部变量的作用范围只在声明该局部变量的函数体内 局部变量在函数调用时被创建,在函数调用完成后自动销毁 全局变量 定义在函数体外,模 ...

  8. C#-WebForm 如何获取下拉列表选中的值 jquery

    分别使用javascript原生的方法和jquery方法<select id="test" name=""> <option value=&q ...

  9. tp5.0 根据经纬度 获取附近信息

    自己备注一下 /* *参数说明: *$lng 经度 *$lat 纬度 *$distance 周边半径 默认是500米(0.5Km) */ public function returnSquarePoi ...

  10. hiho# 1394最小路径覆盖 网络流拆点

    题目传送门 思路: 观察到路径上除了终点起点以外的每个点出度和入度都为1,和网络流的拆点很像,所以就把每个点都拆成两个点,若存在一条路径$(u,v)$,则建一条$(u,v+n,1)$的边,然后求出最大 ...