数据库表结构的起点就是CREATE TABLE。这玩意儿说简单也简单,说讲究也确实有不少细节。你只要掌握了它,基本上建表、约束、字段类型这些事儿就都能搞定,效率提升挺的。
CREATE TABLE的语法其实不复杂:
CREATE TABLE 表名 (
列 1 数据类型 [约束],
列 2 数据类型 [约束],
...
列 n 数据类型 [约束]
);
字段名自己定义,类型像INT、VARCHAR、DATE用得最多。你要是设计清楚,后续写查询、维护表结构都比较省心。
主键推荐加上,像id INT PRIMARY KEY AUTO_INCREMENT
,不重复还自动递增,挺方便。还有外键,要是你有多个表要互相关联,就不能少。比如订单表连用户表,用user_id
做外键刚刚好。
UNIQUE约束也蛮实用,有时候你想字段不重复但又不是主键,比如邮箱啥的。还有NOT NULL,记得别随手都允许 NULL,容易出问题。
写表的时候,给字段加个DEFAULT值也是个好习惯,比如status TINYINT DEFAULT 1
。查询多的字段可以建INDEX,比如用户名、手机号这些。
哦对了,建表不仅是写代码,更是做设计。可以稍微考虑下范式,比如避免重复字段、拆分子表啥的。前期设计好,后面就省得改来改去。
如果你对主外键关系还不太熟,建议看看MySQL 主键与外键关系详解这篇,讲得还挺清楚。