1. 数据存储类型
2. SQL 的核心优势
SQL 尤其擅长处理和操作存储在表中的结构化数据。
2.1 数据类型约束 (Data Type Constraints): 定义列可存储的数据种类。
整数类型:
TINYINT
(1字节)
SMALLINT
(2字节)
MEDIUMINT
(3字节)
INT
(4字节, 约 -21亿 ~ 21亿,无符号约 0 ~ 42亿)
BIGINT
(8字节)
小数类型:
FLOAT
(单精度浮点数, 4字节)
DOUBLE
(双精度浮点数, 8字节)
DECIMAL
/NUMERIC
(定点小数, 精确存储)
字符串类型:
CHAR
(定长字符串)
VARCHAR
(可变长字符串)
日期/时间类型:
DATE
(日期)
TIME
(时间)
DATETIME
(日期和时间)
TIMESTAMP
(时间戳, 通常记录自 ‘1970-01-01 00:00:00’ UTC 以来的秒数或毫秒数,不易读但效率高)
其他类型:
BIT
(位, 常用于布尔值)
ENUM
(枚举类型)
JSON
(存储 JSON 格式数据)
TEXT
(存储大文本)
BLOB
(存储大二进制对象, 如图片、文件)
2.2 自增长约束 (AUTO_INCREMENT):通常用于整数主键列,值自动递增。
2.3 主键约束 (PRIMARY KEY): 唯一标识表中的每一行,值不允许重复且不允许为空 (NOT NULL)**。一个表只能有一个主键(可以是单列或多列组合)。
***2.4 非空约束 (NOT NULL)**强制该列必须有值,不能为 NULL
。
2.5 默认值约束 (DEFAULT): 当插入数据未指定该列值时,自动填充预设的默认值。
2.6 检查约束 (CHECK): 定义列值必须满足的条件 (如 Age >= 18
)。注意:某些场景下使用可能不够灵活或影响性能,需谨慎评估。
2.7 外键约束 (FOREIGN KEY): 建立表之间的关系,确保一个表(子表)中某列的值必须在另一个表(父表)的主键列中存在。*注意:能保证引用完整性,但过度使用或在分布式/高并发场景下可能带来性能和维护复杂度,需权衡使用。
================================================
3. 确保数据完整性与一致性:约束 (Constraints)
数据库通过约束来保证数据的准确性和可靠性。
================================================
4. 数据库高级对象与功能
================================================
5. SQL 语言分类
INSERT
(增加数据)DELETE
(删除数据)UPDATE
(修改数据)SELECT
,用于从表中检索查询数据。CREATE
(创建数据库、表、视图、索引、函数、存储过程等)ALTER
(修改数据库、表、视图、索引等结构)DROP
(删除数据库、表、视图、索引、函数、存储过程等)GRANT
(授予用户/角色权限)REVOKE
(撤销用户/角色权限)6. 注意事项
SELECT
, FROM
) 和数据库对象名(如表名、列名)在标准 SQL 中通常不区分大小写。但为了提高可读性和一致性,建议遵循一定的命名和书写规范(如关键字大写)。