在 MySQL 中,有三种主要的类型:字符串、数字和日期/时间类型。

目录

[隐藏

字符串类型

  • CHAR 0-255字节 定长字符串
  • VARCHAR(size) 保存可变长度的字符串。在括号中指定字符串的最大长度。最多 255 个字符。
  • TINYTEXT 存放最大长度为 255 个字符的字符串
  • TEXT 存放最大长度为 65,535 个字符的字符串。
  • MEDIUMTEXT 存放最大长度为 16,777,215 个字符的字符串。
  • LONGTEXT 存放最大长度为 4,294,967,295 个字符的字符串。
  • BLOB 用于 BLOBs (Binary Large OBjects) 二进制形式的长文本数据。最多存放 65,535 字节的数据。
  • MEDIUMBLOB 用于 BLOBs (Binary Large OBjects)。存放最多 16,777,215 字节的数据。
  • LONGBLOB 用于 BLOBs (Binary Large OBjects)。存放最多 4,294,967,295 字节的数据。
  • ENUM(x,y,z,etc.) 允许你输入可能值的列表。可以在 ENUM 列表中列出最大 65535 个值。

注:这些值是按照你输入的顺序存储的。可以按照此格式输入可能的值:ENUM('X','Y','Z')

  • SET 与 ENUM 类似,SET 最多只能包含 64 个列表项。

CHAR(30)占用30个字符。当保存CHAR值时,在它们的右边填充空格以达到指定的长度。

VARCHAR 类型可以根据实际内容动态改变存储值的长度,所以在不能确定字段需要多少字符时使用 VARCHAR 类型可以大大地节约磁盘空间、提高存储效率。

数值类型

  • TINYINT(size) -128 到 127。0 到 255 无符号。在括号中规定最大位数。
  • SMALLINT(size) -32768 到 32767。0 到 65535 无符号。
  • MEDIUMINT(size) -8388608 到 8388607 。0 to 16777215 无符号。
  • INT(size) -2147483648 到 2147483647 。0 到 4294967295 (42亿,10bit)无符号。
  • BIGINT(size) -9223372036854775808 到 9223372036854775807 。0 到 18446744073709551615 (20位)无符号。
  • FLOAT(size,d) 在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
  • DOUBLE(size,d) 在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
  • DECIMAL(size,d) 作为字符串存储的 DOUBLE 类型,允许固定的小数点。

int后面括号中的数字,不表示长度,表示的是显示宽度,这点与 varchar、char 后面的数字含义是不同的。

也就是说不管 int 后面的数字是多少,它存储的范围始终是 -2^31 到 2^31 - 1。整型的数据类型括号内的数字不管是多少,所占的存储空间都是一样。

日期和时间类型

  • DATE() 日期。格式:YYYY-MM-DD
  • DATETIME() 日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS。从 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'

使用建议

在指定数据类型的时候一般采用从小原则,比如能用TINY INT的最好就不用INT,能用FLOAT类型的就不用DOUBLE类型,这样会对MYSQL在运行效率上提高很大,尤其是大数据量测试条件下。

艺搜参考

http://www.w3school.com.cn/sql/sql_datatypes.asp

http://www.w3cschool.cc/mysql/mysql-data-types.html

http://www.metsky.com/archives/84.html

http://blog.csdn.net/jiemushe1814/article/details/4716069

http://dev.mysql.com/doc/refman/5.1/zh/column-types.html

MySQL常用数据类型小结的更多相关文章

  1. MySQL数据库3 - MySQL常用数据类型

    一. MySql常用数据类型 数据类型:整数(tinyint smailint int bigint) 定点数 decimal(p,s) ------ 小数点位置固定的       ---> 数 ...

  2. Mysql常用数据类型

    Mysql常用数据类型 数字: 字符串: 时间:

  3. Mysql常用数据类型归纳总结1

    一直在用Mysql数据库,Mysql的数据类型也最常打交道的.但关于Mysql的一些常用数据类型了解程度仅限于一知半解,仅仅能满足满足于平时一些最简单的操作.而Mysql常用数据类型的定义以及规范理解 ...

  4. Mysql常用数据类型详细说明及实例说明(学习笔记一)

    1.Mysql 在windows下 Net start mysql[启动] Net stop mysql[停止] Quit[退出mysql命令行] \c[取消输入的命令] Select version ...

  5. Mysql 常用数据类型 占用字节数 [转]

    数据类型是定义列中可以存储什么数据以及该数据实际怎么存储的基本规则.Mysql的常用数据类型主要有: 串数据类型:最常用的数据类型,有两种基本的串类型:分别为定长串和不定长串.定长串结束长度固定的字符 ...

  6. MySQL常用数据类型 length 专题

    MySQL-data_type数据类型 1.查看数据类型 mysql> help data type    //通过help对数据进行查看,以及使用的方法 2.MySQL常见的数据类型 整数in ...

  7. MySQL常用数据类型及细节

    目录 1 整数类型 1.1 可选属性 1.1.1 M 1.1.2 UNSIGNED 1.1.3 ZEROFILL 2 浮点类型 2.1 精度误差 3 定点数类型 3.1 数据精度说明 3.2 类型介绍 ...

  8. MySql常用数据类型分析

    整数类型 TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT 分别使用8,16,24,32,64位存储空间,值得范围-2的(N-1)方到2的(N-1)方-1.根据需要存储的范围 ...

  9. MySQL常用数据库小结

    SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL-数据控制语言(GRAN ...

随机推荐

  1. SAP 透明表之间的关联字段

    VTTK-TPLST=TTDST-TPLST(装运点的关联表及描述表字段TTDST-BEZEI) VTTK-ROUTE=TVROT-ROUTE(装运线路关联表及描述表字段TVROT-BEZEI) VT ...

  2. ABAP 内表的行列转换

    http://www.cnblogs.com/qlp1982/p/3370591.html

  3. CentOS 7 关闭图形界面

    CentOS 7 关闭图形界面 查看/etc/inittab如下: # systemd uses 'targets' instead of runlevels. # by default, there ...

  4. [第三方]SDWebImage获取网络图片控件的用法

    #import "UIImageView+WebCache.h" @interface WeatherViewController ()<UISearchBarDelegat ...

  5. codeforces 496A. Minimum Difficulty 解题报告

    题目链接:http://codeforces.com/contest/496/problem/A 题目意思:给出有 n 个数的序列,然后通过删除除了第一个数和最后一个数的任意一个位置的数,求出删除这个 ...

  6. codeforces 495C. Treasure 解题报告

    题目链接:http://codeforces.com/problemset/problem/495/C 题目意思:给出一串只有三种字符( ')','(' 和 '#')组成的字符串,每个位置的这个字符 ...

  7. JavaScript实现字符串的contains函数

    JavaScript实现字符串的contains函数 / *  * string:原始字符串  * substr:子字符串  * isIgnoreCase:忽略大小写  * / function co ...

  8. .net在当前日期的基础上加一天

    比如今天是:2015-11-10 18:57:01,在这个基础上加一天,那么就是2015-11-11 18:57:01,代码如下: DateTime now_dt = DateTime.Now; ). ...

  9. 如何用Jquery判断在键盘上敲的哪个按键

    有时候我们需要判断我们在键盘上敲了哪个键,这个需要查询下键盘上的键对应的值是多少,比如Enter键是13. 下面是Jquery代码,别忘了引用Jquery包哈. <script type=&qu ...

  10. [Android Pro] AES加密

    reference to :http://blog.csdn.net/wfung_kwok/article/details/7766427 package com.secufity.aes; impo ...