📜  SQL-数据类型(1)

📅  最后修改于: 2023-12-03 15:05:19.514000             🧑  作者: Mango

SQL-数据类型

数据类型是指数据的属性,是程序员在创建表的时候为每个字段指定的数据类型。在 SQL 中,每个表都包含多个字段,每个字段都有自己的数据类型。

常用数据类型

以下是 SQL 中常用的数据类型和其对应的含义:

  • INT:整型。它表示一个整数,如 1、2、3 等。INT 类型可以被指定长度,例如 INT(4),长度为 4 的整数。
  • VARCHAR:可变长度字符串。VARCHAR 类型用于存储可变长度的字符串。例如,VARCHAR(50) 可以存储最多 50 个字符的字符串。
  • CHAR:定长字符串。CHAR 类型用于存储定长字符串。例如,CHAR(10) 可以存储长度为 10 的字符串。
  • TEXT:比 VARCHAR 大的字符串类型。TEXT 类型用于存储大量的字符串数据,它可以存储多达 65,535 个字符。
  • DATE:日期类型。DATE 类型用于存储日期值。日期值必须以 YYYY-MM-DD 的格式存储,如 '2019-06-21'。
  • TIME:时间类型。TIME 类型用于存储时间值。时间值必须以 HH:MM:SS 的格式存储,如 '11:30:45'。
  • DATETIME:时间戳类型。DATETIME 类型用于存储日期和时间值。日期和时间值必须以 YYYY-MM-DD HH:MM:SS 的格式存储,如 '2019-06-21 11:30:45'。
数值类型

数值类型表示数值数据。数值类型包括整型和浮点型两种类型。

整型

整型是一种表示整数的数据类型。整型通常是按照不同的精度、大小和符号来分类的。

以下是 SQL 中常用的整型数据类型:

  • TINYINT:范围在 -128 到 127 之间。
  • SMALLINT:范围在 -32,768 到 32,767 之间。
  • MEDIUMINT:范围在 -8,388,608 到 8,388,607 之间。
  • INTINTEGER:范围在 -2,147,483,648 到 2,147,483,647 之间。
  • BIGINT:范围在 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 之间。

以下是几个整型数据类型的创建示例:

CREATE TABLE users (
   id TINYINT(2),
   age MEDIUMINT,
   salary BIGINT
);
浮点型

浮点型是一种表示带小数的数字的数据类型。浮点型通常是按照不同的精度来分类的。

以下是 SQL 中常用的浮点型数据类型:

  • FLOAT:单精度浮点数。FLOAT 类型的精度是 7 个小数位。
  • DOUBLEREAL:双精度浮点数。DOUBLE 类型的精度是 15 个小数位。

以下是几个浮点型数据类型的创建示例:

CREATE TABLE product (
   id INT(11),
   price DOUBLE(8,2)
);
字符串类型

字符串类型表示一组字符数据。字符串类型包括可变长度字符串和定长字符串两种类型。

可变长度字符串

可变长度字符串是一种表示任意长度字符的数据类型。

以下是包括 VARCHAR 和 TEXT 在内的 SQL 中常用的字符串数据类型:

  • VARCHAR:可变长度字符串。VARCHAR 类型用于存储可变长度的字符串。例如,VARCHAR(50) 可以存储最多 50 个字符的字符串。
  • TEXT:比 VARCHAR 大的字符串类型。TEXT 类型用于存储大量的字符串数据,它可以存储多达 65,535 个字符。

以下是可变长度字符串类型的创建示例:

CREATE TABLE users (
   id INT(11),
   name VARCHAR(255),
   bio TEXT
);
定长字符串

定长字符串是一种表示固定长度字符的数据类型。

以下是 SQL 中常用的定长字符串数据类型:

  • CHAR:定长字符串。CHAR 类型用于存储定长字符串。例如,CHAR(10) 可以存储长度为 10 的字符串。

以下是定长字符串类型的创建示例:

CREATE TABLE users (
   id INT(11),
   phone CHAR(11)
);
日期和时间类型

日期和时间类型表示日期和时间数据。

以下是 SQL 中常用的日期和时间类型:

  • DATE:日期类型。DATE 类型用于存储日期值。日期值必须以 YYYY-MM-DD 的格式存储,如 '2019-06-21'。
  • TIME:时间类型。TIME 类型用于存储时间值。时间值必须以 HH:MM:SS 的格式存储,如 '11:30:45'。
  • DATETIME:时间戳类型。DATETIME 类型用于存储日期和时间值。日期和时间值必须以 YYYY-MM-DD HH:MM:SS 的格式存储,如 '2019-06-21 11:30:45'。

以下是日期和时间类型的创建示例:

CREATE TABLE events (
   id INT(11),
   start_date DATE,
   start_time TIME,
   event_time DATETIME
);
总结

SQL 中的数据类型可以根据不同的数据需要进行选择。在创建表时,程序员需要为每个字段指定一个数据类型。常用的 SQL 数据类型包括整型、浮点型、字符串型和日期和时间型。