MySQL 字段、字符集与表结构
MySQL、SQLAlchemy 与数据库设计#Python全栈#第十四阶段#MySQL、SQLAlchemy 与数据库设计#MySQL 字段、字符集与表结构约 730 字 · 2 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
整数类型怎样按范围、符号和空间选择?
追问 数据库 BIGINT 与 JavaScript 安全整数范围有什么差别?超大 ID 怎样在 API 中保持精度?
DECIMAL 与 FLOAT、DOUBLE 有什么区别?
追问 金额的精度、标度、四舍五入和溢出怎样约定?Python Decimal 与数据库字段如何配合?
CHAR、VARCHAR 与 TEXT 各适合什么数据?
追问 长度、字符集、索引和大文本读取成本怎样影响选择?为什么不宜把所有文本都无区别地定义为同一类型?
NULL、空字符串、零与默认值有什么区别?
追问 缺失信息和合法空值如何表达?SQL 中为什么不能用
= NULL 判断空值?DATETIME 与 TIMESTAMP 的范围和时区行为有什么区别?
追问 数据库会话时区、UTC 存储约定和页面展示如何协调?不能只凭 Python datetime 是否有时区推断数据库实际行为。
utf8mb4 字符集与排序规则分别控制什么?
追问 大小写、重音与字符比较怎样影响搜索和唯一约束?为什么“邮箱不同字符串”仍可能在某些排序规则下被视为相同?
JSON 字段适合哪些可变结构,不适合替代哪些关系?
追问 扩展元数据、频繁筛选字段与多对多标签怎样选择?索引、约束和结构升级如何考虑?
DEFAULT、NOT NULL、CHECK 和 UNIQUE 怎样形成数据约束?
追问 数据库版本、NULL 语义和表达式限制如何影响结果?为什么保存成功不等于所有业务规则都成立?
自增主键为什么可能不连续?
追问 回滚、失败和并发怎样影响分配?为什么不能把连续 ID 当作准确记录总数或绝对提交顺序?
修改已有表字段时,需要评估哪些兼容和运行影响?
追问 数据转换、默认值、索引重建、元数据锁和新旧应用代码如何协调?在线 DDL 是否代表操作完全无锁、无风险?