理解MySQL数据类型 避免数据库设计出现混乱

本文突出介绍了MySQL支持的很多重要的数据类型,并介绍如何使用。

数据库存储中的数据类型与大小各异。有些地方只存储数字类型,有些只存储文本类型,有些二者而兼之。而很多数据库支持各种专用类型:日期和时间类型,二进制字符类型以及布尔类型。

选择数据类型与数据相匹配是数据库设计中最为重要的部分,因为这种类型将会影响到RDBMS的效率与性能。所以,对RDBMS的数据类型选择应给予足够的重视。

这就是编写本文的主要目的。表A将列举了MySQL支持的绝大部分重要的数据类型,而MySQL是当前最为流行的免费RDBMS。文中还描述了何时与如何使用这些数据类型。这将有助于建立一个数据库的合理设计。

表 A

数据类型

描述

字节

推荐使用

SMALLINT

整数,从-32000到 +32000范围

2

存储相对比较小的整数。

比如: 年纪,数量

INT

整数,从-2000000000 到 +2000000000 范围

4

存储中等整数

例如: 距离

BIGINT

不能用SMALLINT 或 INT描述的超大整数。

8

存储超大的整数

例如: 科学/数学数据

FLOAT

单精度浮点型数据

4

存储小数数据

例如:测量,温度

DOUBLE

双精度浮点型数据

8

需要双精度存储的小数数据

例如:科学数据

DECIMAL

用户自定义精度的浮点型数据

变量;取决于精度与长度

以特别高的精度存储小数数据。

例如:货币数额,科学数据

CHAR

固定长度的字符串

特定字符串长度(高达255字符)

存储通常包含预定义字符串的变量

例如: 定期航线,国家或邮编

VARCHAR

具有最大限制的可变长度的字符串

变量; 1 + 实际字符串长度 (高达 255 字符)

存储不同长度的字符串值(高达一个特定的最大限度).

例如:名字,密码,短文标签

TEXT

没有最大长度限制的可变长度的字符串

Variable; 2 +聽 actual string length

存储大型文本数据

例如: 新闻故事,产品描述

BLOB

二进制字符串

变量;2 + 实际字符串长度

存储二进制数据

例如:图片,附件,二进制文档

DATE

以 yyyy-mm-dd格式的日期

3

存储日期

例如:生日,产品满期

TIME

以 hh:mm:ss格式的时间

3

存储时间或时间间隔

例如:报警声,两时间之间的间隔,任务开始/结束时间

DATETIME

以yyyy-mm-ddhh:mm:ss格式结合日期和时间

8

存储包含日期和时间的数据

例如:提醒的人,事件

TIMESTAMP

以yyyy-mm-ddhh:mm:ss格式结合日期和时间

4

记录即时时间

例如:事件提醒器,“最后进入”的时间标记

YEAR

以 yyyy格式的年份

1

存储年份

例如:毕业年,出生年

ENUM

一组数据,用户可从中选择其中一个

1或 2个字节

存储字符属性,只能从中选择之一

例如:布尔量选择,如性别

SET

一组数据,用户可从中选择其中0,1或更多。

从1到8字节;取决于设置的大小

存储字符属性,可从中选择多个字符的联合。

例如:多选项选择,比如业余爱好和兴趣。

分享到:

2007-07-05 15:41

浏览 512

评论

mysql 变量 数据类型_MySQL(MySQL的数据类型)相关推荐

  1. mysql 编程处理数据类型_Mysql支持的数据类型(总结)

    一.数值类型 Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUB ...

  2. mysql 51cto 数据类型_Mysql支持的数据类型

    一.数值类型 Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUB ...

  3. mysql可以创建多少条数据类型_mysql支持的数据类型

    数值类型 MySQL支持所有标准SQL数值数据类型. 这些类型包括严格数值数据类型(INTEGER.SMALLINT.DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT.REAL和DO ...

  4. php mysql 变量赋值_mysql存储过程中变量的定义赋值操作

    一.变量的定义 mysql中变量定义用declare来定义一局部变量,该变量的使用范围只能在begin...end 块中使用,变量必须定义在复合语句的开头,并且是在其它语句之前,也可以同时申明多个变量 ...

  5. 在mysql中显示数据库数据类型_MySQL(二) 数据库数据类型详解

    序言 今天去健身了,感觉把身体练好还是不错的,闲话不多说,把这个数据库所遇到的数据类型今天统统在这里讲清楚了,以后在看到什么数据类型,咱度应该认识,下面就跟着我的节奏去把这个拿下吧. ---WZY 一 ...

  6. mysql 存坐标_MySql使用Float数据类型存储地理坐标

    您的实施有两个问题. 将值四舍五入为2位精度的原因是您明确将比例定义为2. 此外,FLOAT是MySQL中不精确的数据类型. 要解决这两个问题,您应该使用具有适当精度和比例的DECIMAL数据类型. ...

  7. mysql中存储gis数据类型_mysql 中的数据类型

    类型说明 取值范围 tinyint[(m)] 有符号值:-128 到127(- 27 到27 - 1) 无符号值:0到255(0 到28 - 1) 1个字节 smallint[(m)] 有符号值:-3 ...

  8. mysql自定义数据类型_MySQL中的数据类型

    一.MySQL中的数值类型分类 MySQL中数值类型主要有三类:数字类型,字符串类型,时间类型. 1.数字类型 1.1整数 tinyint  1字节 smallint               2字 ...

  9. mysql数据库成绩数据类型_mysql数据库基本数据类型

    1,整型 tinyint   8 位  有/无符号 smallint  16位  有/无符号 mediumint   24位  有/无符号 int   32位  有/无符号 bigint     64 ...

最新文章

  1. python m http_非常简单的Python HTTP服务
  2. UA MATH567 高维统计IV Lipschitz组合4 对称群上的均匀分布
  3. 博客会被搬去csdn
  4. 如何理解subplot绘制不规则子图的参数设置
  5. MySQL自定义变量的使用
  6. CCNP中单区域OSPF详解(第一部分)
  7. java中什么是守护线程_什么是Java的守护线程?
  8. Arcmap格式转arcgis的shp格式
  9. BugkuCTF-WEB题矛盾
  10. Linux IPC实践(7) --Posix消息队列
  11. 统计字符串元素出现的个数_LeetCode 1295. 统计位数为偶数的数字
  12. 【html、CSS、javascript-9】jquery-选择器及过滤器
  13. 系统调用服务号 linux 2.6.32
  14. 输入设备名输入输出设备的重定向
  15. Ubuntu镜像的下载
  16. 程序设计-股票最大收益问题(Java)
  17. error: invalid operands to binary == (have ‘uid_t’ {aka ‘unsigned int’} and ‘kuid_t’
  18. (投影:Projector)Unity5 使用Projector实现纹理投射
  19. The Devil Wears Prada-16
  20. 环境保护概论课程作业

热门文章

  1. 网络的可靠性是设计出来的
  2. MaxCompute SQL示例解析
  3. oracle创建表和序列
  4. 为什么我们计算的RSI和同花顺通达信计算的值不一样
  5. python 波动率锥_期权波动率期限结构与日历价差策略
  6. 用python搭建一个服务器
  7. JVM总结之垃圾回收
  8. 清华张钹院士专刊文章:迈向第三代人工智能(全文收录)
  9. 使用Docker+Jenkin自动化流水线
  10. python中字符串