第二十次博客打卡
今天学习的内容是sql中的常见数据类型。
在 SQL 中,数据类型用于定义表中列的性质和存储的数据种类。不同的数据库管理系统(如 MySQL、SQL Server、PostgreSQL 等)可能支持不同的数据类型,但以下是一些常见且广泛使用的数据类型:
1. 数字类型
INT
(整数)- 用于存储整数值,范围通常为 -2,147,483,648 到 2,147,483,647。
- 示例:
CREATE TABLE Users (UserID INT);
BIGINT
(大整数)- 用于存储更大的整数值,范围通常为 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
- 示例:
CREATE TABLE Orders (OrderID BIGINT);
SMALLINT
(小整数)- 用于存储较小的整数值,范围通常为 -32,768 到 32,767。
- 示例:
CREATE TABLE Products (Quantity SMALLINT);
DECIMAL(p, s)
(定点数)- 用于存储精确的小数值,其中
p
是精度(总位数),s
是小数点后的位数。 - 示例:
CREATE TABLE Prices (Price DECIMAL(10, 2));
- 用于存储精确的小数值,其中
FLOAT
(浮点数)- 用于存储近似的小数值,适合科学计算。
- 示例:
CREATE TABLE Measurements (Value FLOAT);
2. 字符和字符串类型
CHAR(n)
(固定长度字符)- 用于存储固定长度的字符串,
n
是字符串的最大长度。如果存储的字符串长度小于n
,则会用空格填充。 - 示例:
CREATE TABLE Users (LastName CHAR(50));
- 用于存储固定长度的字符串,
VARCHAR(n)
(可变长度字符)- 用于存储可变长度的字符串,
n
是最大长度。 - 示例:
CREATE TABLE Users (FirstName VARCHAR(50));
- 用于存储可变长度的字符串,
TEXT
(长文本)- 用于存储大量的文本数据,通常用于存储文章、评论等内容。
- 示例:
CREATE TABLE Articles (Content TEXT);
3. 日期和时间类型
DATE
(日期)- 用于存储日期值,格式为
YYYY-MM-DD
。 - 示例:
CREATE TABLE Orders (OrderDate DATE);
- 用于存储日期值,格式为
TIME
(时间)- 用于存储时间值,格式为
HH:MM:SS
。 - 示例:
CREATE TABLE Events (StartTime TIME);
- 用于存储时间值,格式为
DATETIME
(日期和时间)- 用于存储日期和时间值,格式为
YYYY-MM-DD HH:MM:SS
。 - 示例:
CREATE TABLE Logs (LogTime DATETIME);
- 用于存储日期和时间值,格式为
TIMESTAMP
(时间戳)- 用于存储时间戳,通常包含日期和时间,并且可以自动记录当前时间。
- 示例:
CREATE TABLE Users (Created TIMESTAMP);
4. 布尔类型
BOOLEAN
或BIT
(布尔值)- 用于存储布尔值,通常为
TRUE
或FALSE
。 - 示例:
CREATE TABLE Users (IsActive BOOLEAN);
- 用于存储布尔值,通常为
5. 二进制类型
BLOB
(二进制大对象)- 用于存储二进制数据,如图片、文件等。
- 示例:
CREATE TABLE Images (Image BLOB);
6. 其他类型
ENUM
(枚举)- 用于存储一组预定义的字符串值。
- 示例:
CREATE TABLE Users (Gender ENUM('Male', 'Female', 'Other'));
JSON
(JSON 数据)- 用于存储 JSON 格式的数据。
- 示例:
CREATE TABLE Settings (Config JSON);
数据类型选择建议
- 根据实际需求选择合适的数据类型:例如,如果某个字段只存储整数,就不要使用
VARCHAR
。 - 考虑性能和存储空间:例如,
SMALLINT
比INT
占用更少的空间,如果数据范围允许,优先使用更小的数据类型。 - 确保数据的完整性和一致性:例如,使用
ENUM
可以限制字段的值范围,避免无效数据。