在 MySQL 中,INSERT语句用于将新数据插入到表格中。INSERT语句有以下几种使用方法:
- 指定列名
语法: INSERT INTO 表名 (列1, 列2, 列3...) VALUES (值1, 值2, 值3...);
示例:
INSERT INTO users (name, age, gender) VALUES ('Tom', 18, 'male');
- 插入所有列
语法: INSERT INTO 表名 VALUES (值1, 值2, 值3...);
示例:
INSERT INTO users VALUES ('Tom', 18, 'male');
如果不指定列名,INSERT语句将默认为插入所有列。但是需要注意的是,必须按表定义中列出的顺序将值列出。
- 插入多行数据
语法: INSERT INTO 表名 (列1, 列2, 列3...) VALUES (值1, 值2, 值3...), (值1, 值2, 值3...);
示例:
INSERT INTO users (name, age, gender) VALUES
('Tom', 18, 'male'),
('Mary', 20, 'female'),
('Bob', 22, 'male');
可以使用一条 INSERT 语句插入多行数据,只需在语句末尾添加多个值集即可。
- 通过SELECT语句获取插入数据
语法:INSERT INTO 表名 [ (列1, 列2, 列3...) ] SELECT ... ;
示例:
INSERT INTO users (name, age, gender)
SELECT name, age, gender FROM temp_users
WHERE age > 18;
这样的INSERT语句不会插入实际值,而是从另外一个表中检索数据并将其插入到指定的表格中。