📅  最后修改于: 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 之间。
- INT 或 INTEGER:范围在 -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 个小数位。
- DOUBLE 或 REAL:双精度浮点数。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 数据类型包括整型、浮点型、字符串型和日期和时间型。