📜  SQL数据类型(1)

📅  最后修改于: 2023-12-03 14:47:40.931000             🧑  作者: Mango

SQL数据类型

在 SQL 中,数据类型是用于定义表中的列所存储的数据类型的。在创建表时必须为每个列定义数据类型。

SQL 数据类型分类

SQL 数据类型分为以下类型:

  • 数值 (整数、小数等)。
  • 字符串 (字符和文本) 。
  • 日期/时间 (日期,时间,年等)。
  • 布尔 (用于存储真或假)。
  • 二进制 (用于存储二进制数据)。
数值类型

SQL 中主要有以下几种数值类型:

整数类型

| 数据类型 | 描述 | | ------------- | ------------------------------------------------------------ | | INT | 用于存储正负整数,范围是 -2147483648 到 2147483647 | | SMALLINT | 用于存储正负整数,范围是 -32768 到 32767 | | BIGINT | 用于存储正负整数,范围是 -9223372036854775808 到 9223372036854775807 |

小数类型

| 数据类型 | 描述 | | -------------- | -------------- | | DECIMAL | 固定精度的小数 | | FLOAT | 浮点数 | | DOUBLE | 双精度浮点数 |

字符串类型

SQL 中主要有以下几种字符串类型:

| 数据类型 | 描述 | | ------------ | -------------------------------------- | | CHAR | 固定长度的字符串,范围为 0 到 255 | | VARCHAR | 可变长度的字符串,范围为 0 到 65535 | | TEXT | 可变长度的字符串,范围为 0 到 65535 | | TINYTEXT | 可变长度的字符串,最大长度为 255 字节 | | MEDIUMTEXT | 可变长度的字符串,最大长度为 16777215 | | LONGTEXT | 可变长度的字符串,最大长度为 4294967295 |

日期/时间类型

SQL 中主要有以下几种日期/时间类型:

| 数据类型 | 描述 | | --------- | ------------------------------------ | | DATE | 用于存储日期,格式为 YYYY-MM-DD | | TIME | 用于存储时间,格式为 HH:MM:SS.SSS | | DATETIME| 用于存储日期和时间,格式为 YYYY-MM-DD HH:MM:SS.SSS| | YEAR | 用于存储年份,格式为 YYYY |

布尔类型

SQL 中只有一种布尔类型:

| 数据类型 | 描述 | | -------- | ------------ | | BOOL | 用于存储真或假 |

二进制类型

SQL 中主要有以下几种二进制类型:

| 数据类型 | 描述 | | ----------------- | ---------------------------- | | BINARY | 存储固定长度的二进制数据 | | VARBINARY | 存储可变长度的二进制数据 | | BLOB | 存储可变长度的二进制数据 | | TINYBLOB | 存储最大长度为 255 字节的二进制数据 | | MEDIUMBLOB | 存储最大长度为 16777215 字节的二进制数据 | | LONGBLOB | 存储最大长度为 4294967295 字节的二进制数据 |

示例

下面是一个例子,演示如何创建一个包含不同数据类型的表:

CREATE TABLE products (
    id INT,
    name VARCHAR(255),
    description TEXT,
    price DECIMAL(10, 2),
    release_date DATE,
    available BOOL
);