MySQL数据类型

MySQL数据类型

概览

MySQL中的数据类型可以分为几大类,每一类都包含了不同的数据类型,适用于不同的数据存储和处理场景。以下是需要学习的主要数据类型:

  1. 数值类型:

    • 整数类型:如TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT。这些类型用于存储整数,可选有无符号。
    • 浮点和定点类型:如FLOAT, DOUBLE, DECIMAL。这些类型用于存储小数,其中DECIMAL用于存储精确的小数。
  2. 日期和时间类型:

    • DATE: 仅存储日期。
    • TIME: 仅存储时间。
    • DATETIME: 存储日期和时间。
    • TIMESTAMP: 存储日期和时间,并且自动更新到当前时间。
    • YEAR: 存储年份。
  3. 字符串类型:

    • 字符串类型:如CHARVARCHARCHAR是固定长度,而VARCHAR是可变长度。
    • 文本类型:如TEXT, BLOB, MEDIUMTEXT, LONGTEXT。这些类型用于存储大量的文本或二进制数据。
    • 枚举(ENUM)和集合(SET)类型:用于存储预定义的值。
  4. 空间数据类型:

    • 用于存储空间数据,如地理数据,包括GEOMETRY, POINT, LINESTRING, POLYGON等。
  5. JSON类型:

数值类型

整数类型(精确值)-INTEGER、INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT

下表显示了每种整数类型所需的存储和范围。

类型 存储 (字节) 有符号最小值 无符号最小值 有符号最大值 无符号最大值
TINYINT 1 -128 0 127 255
SMALLINT 2 -32768 0 32767 65535
MEDIUMINT 3 -8388608 0 8388607 16777215
INT 4 -2147483648 0 2147483647 4294967295
BIGINT 8 -128 0 127 255
TINYINT 1 -2的63次方 0 2的63次方-1 2的64次方

-2的63次方 = −9223372036854775808
2的63次方-1 = 9223372036854775807
2的64次方 = 18446744073709551616

MySQL数字类型超出范围时的溢出处理

详情见文章:MySQL数字类型超出范围时的溢出处理

字符串类型

字符串类型有 CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM, and SET.

SET 类型

链接待补充

ENUM 类型

链接待补充

JSON类型

链接待补充

参考链接

官网文档
https://dev.mysql.com/doc/refman/8.0/en/data-types.html

你可能感兴趣的:(MySQL进阶学习,mysql,数据库)