zoukankan      html  css  js  c++  java
  • 雷林鹏分享:MySQL 数据类型

      MySQL中定义数据字段的类型对你数据库的优化是非常重要的。

      MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

      数值类型

      MySQL支持所有标准SQL数值数据类型。

      这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。

      关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。

      BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。

      作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。

      类型大小范围(有符号)范围(无符号)用途

      TINYINT1 字节(-128,127)(0,255)小整数值

      SMALLINT2 字节(-32 768,32 767)(0,65 535)大整数值

      MEDIUMINT3 字节(-8 388 608,8 388 607)(0,16 777 215)大整数值

      INT或INTEGER4 字节(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值

      BIGINT8 字节(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值

      FLOAT4 字节(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度

      浮点数值

      DOUBLE8 字节(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)双精度

      浮点数值

      DECIMAL对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2依赖于M和D的值依赖于M和D的值小数值

      日期和时间类型

      表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

      每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

      TIMESTAMP类型有专有的自动更新特性,将在后面描述。

      类型大小

      (字节)范围格式用途

      DATE31000-01-01/9999-12-31YYYY-MM-DD日期值

      TIME3'-838:59:59'/'838:59:59'HH:MM:SS时间值或持续时间

      YEAR11901/2155YYYY年份值

      DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值

      TIMESTAMP41970-01-01 00:00:00/2038

      结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07YYYYMMDD HHMMSS混合日期和时间值,时间戳

      字符串类型

      字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。

      类型大小用途

      CHAR0-255字节定长字符串

      VARCHAR0-65535 字节变长字符串

      TINYBLOB0-255字节不超过 255 个字符的二进制字符串

      TINYTEXT0-255字节短文本字符串

      BLOB0-65 535字节二进制形式的长文本数据

      TEXT0-65 535字节长文本数据

      MEDIUMBLOB0-16 777 215字节二进制形式的中等长度文本数据

      MEDIUMTEXT0-16 777 215字节中等长度文本数据

      LONGBLOB0-4 294 967 295字节二进制形式的极大文本数据

      LONGTEXT0-4 294 967 295字节极大文本数据

      CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

      BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。

      BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。

      有 4 种 TEXT 类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。对应的这 4 种 BLOB 类型,可存储的最大长度不同,可根据实际情况选择。

      点击查看所有 MySQL 教程 文章: https://www.codercto.com/courses/l/30.html(编辑:雷林鹏 来源:网络 侵删)

  • 相关阅读:
    新概念第二册(1)--英语口语听力课1
    外企面试课程(一)---熟悉常见的缩略词
    公司 邮件 翻译 培训 长难句 结课
    workflow
    公司 邮件 翻译 培训 长难句 20
    公司 邮件 翻译 培训 长难句 19
    Engineering Management
    公司 邮件 翻译 培训 长难句 18
    公司 邮件 翻译 培训 长难句 17
    第14.5节 利用浏览器获取的http信息构造Python网页访问的http请求头
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/10973488.html
Copyright © 2011-2022 走看看