很多人第一次接触 MySQL,会把它理解成“一个能存表的地方”。
这不算错,但远远不够。
如果把整个软件系统想成一座城市,那么 MySQL 更像这座城市里的户籍总账楼:
城市业务系统
│
▼
户籍总账楼(MySQL Server)
│
├── 总账分册(database)
├── 户籍账表(table)
├── 每条登记(row)
├── 每个栏目(column)
├── 唯一编号规则(primary key / unique)
├── 目录卡系统(index)
├── 办理规则(constraints)
└── 柜台批处理机制(transaction)你可以把它理解成:
database是一套业务账本table是某一类户籍账册row是一条实际登记记录column是这条登记上的字段栏目index是方便快速翻账的目录卡transaction是一次完整办理流程constraint是柜台规章,防止乱填、重号、挂错关系
本篇默认以 InnoDB 为主来讲,因为现代业务系统里谈 MySQL 的事务、外键、行锁、隔离级别,基本都在这个语境下。