数据类型决定取值范围、精度、存储开销、比较规则和可用操作。选型不当可能造成金额误差、时间混乱、索引膨胀或隐式转换。本文按业务语义梳理常见类型,而不是只罗列范围表。
1. 整数类型
类型
有符号范围(概略)
字节数
TINYINT
-128 ~ 127
1
SMALLINT
-32768 ~ 32767
2
MEDIUMINT
约 ±83 ...
表结构决定数据能够保存什么、哪些状态合法以及查询能否高效执行。DDL 语法不只是创建几个字段,还要考虑类型、约束、默认值、字符集、索引、上线成本和回滚方式。
1. 创建表1234567891011121314CREATE TABLE IF NOT EXISTS users ( id BIGINT UNSIGNED NOT NULL AUTO_INC ...
数据库级操作主要负责命名空间、默认字符集与排序规则、备份恢复和连接观察。语法本身不难,真正容易出错的是字符集选择、危险删除、备份范围和恢复验证。
1. 创建数据库推荐显式写出字符集和排序规则:
123CREATE DATABASE IF NOT EXISTS shop CHARACTER SET utf8mb4 COLLATE utf8mb4_090 ...
数据库不是简单的“保存数据的文件”,而是一套负责数据组织、并发访问、权限控制、故障恢复和持久化的系统。本文从数据库基本概念出发,梳理 MySQL 的客户端/服务器模型、逻辑层级、SQL 分类和存储引擎,为后续学习表、索引和事务建立全局视角。
1. 为什么需要数据库直接用普通文件保存数据会遇到许多问题:
数据格式由每个程序自行定义,难以共享;
...
