科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道解析MySQL数据类型 避免数据库设计出现混乱

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

来源:Techrepublic.com 2007年11月12日

关键字: 设计 数据库 数据类型 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字节;取决于设置的大小 存储字符属性,可从中选择多个字符的联合。

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

  对于一个完整的列表和详细描述,可以查看MySQL manual。你也可以阅读文章Choosing the Right Type for a Column。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章