CREATE TABLE 建表
掌握数据类型、主键、默认值、AUTO_INCREMENT
CREATE TABLE 建表
数据存在表里,表结构的设计直接影响查询性能和开发体验。
学完本章你将: 掌握数据类型、主键、默认值、AUTO_INCREMENT。
基本语法
sql
CREATE TABLE students (
id INTEGER PRIMARY KEY, -- 主键(唯一标识)
name TEXT NOT NULL, -- 不允许 NULL
age INTEGER DEFAULT 18, -- 默认值
email TEXT UNIQUE, -- 唯一
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
常用数据类型
| 类型 | 说明 | 示例值 |
|---|---|---|
| INTEGER | 整数 | 42, -1 |
| REAL | 浮点数 | 3.14 |
| TEXT | 字符串 | 'Hello' |
| BLOB | 二进制 | 图片、文件 |
| DATETIME | 日期时间 | '2024-07-22' |
SQLite 只有这 5 种类型,MySQL 有 VARCHAR/INT/DECIMAL 等更丰富的类型。
主键 PRIMARY KEY
每张表都应该有主键,它唯一标识每一行。
sql
-- 自然主键
CREATE TABLE users (email TEXT PRIMARY KEY, name TEXT);
-- 自增主键(推荐)
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT, -- SQLite
name TEXT
);
-- MySQL: id INT AUTO_INCREMENT PRIMARY KEY
修改与删除表
sql
-- 添加列
ALTER TABLE users ADD COLUMN phone TEXT;
-- 删除表
DROP TABLE IF EXISTS old_data;