INSERT 插入数据
掌握单行/多行插入、INSERT SELECT、REPLACE
INSERT 插入数据
建好了表,下一步就是往里装数据。INSERT 可以一行一行插,也可以批量从别的表导入。
学完本章你将: 掌握单行/多行插入、INSERT SELECT、REPLACE。
基本插入
sql
-- 插入一行(指定列)
INSERT INTO users (name, age, city) VALUES ('小明', 20, '北京');
-- 插入全部列(按表定义顺序)
INSERT INTO users VALUES (1, '小红', 21, '上海');
-- 插入多行
INSERT INTO users (name, age) VALUES
('小刚', 22),
('小丽', 19),
('小华', 25);
从其他表导入
sql
-- 把北京用户复制到另一张表
INSERT INTO users_backup
SELECT * FROM users WHERE city = '北京';
-- 列要对应
INSERT INTO users_backup (name, email)
SELECT name, email FROM users WHERE city = '上海';
INSERT OR REPLACE(SQLite)
sql
-- 如果 id=1 已存在,替换整行
INSERT OR REPLACE INTO users (id, name, age) VALUES (1, '小明改名', 21);
-- MySQL 等效
-- INSERT INTO users VALUES (...) ON DUPLICATE KEY UPDATE name=...;