1、语法
INSERT INTO <表名> (字段1, 字段2, ...) VALUES (值1, 值2, ...);
2、举例
例如,我们向students表插入一条新记录,先列举出需要插入的字段名称,然后在VALUES子句中依次写出对应字段的值:
INSERT INTO students (class_id, name, gender, score) VALUES (2, '大牛', 'M', 80);
SELECT * FROM students;
结果:
id | class_id | name | gender | score |
1 | 1 | 小明 | M | 90 |
2 | 1 | 小红 | F | 95 |
3 | 1 | 小军 | M | 88 |
4 | 1 | 小米 | F | 73 |
5 | 2 | 小白 | F | 81 |
6 | 2 | 小兵 | M | 55 |
7 | 2 | 小林 | M | 85 |
8 | 3 | 小新 | F | 91 |
9 | 3 | 小王 | M | 89 |
10 | 3 | 小丽 | F | 88 |
11 | 2 | 大牛 | M | 80 |
还可以一次性添加多条记录,只需要在VALUES子句中指定多个记录值,每个记录是由(...)包含的一组值:
INSERT INTO students (class_id, name, gender, score) VALUES (1, '大宝', 'M', 87), (2, '二宝', 'M', 81);
SELECT * FROM students;
3、注意和小结
- id字段是一个自增主键,它的值可以由数据库自己推算出来,插入时不必指定
- 字段顺序不必和数据库表的字段顺序一致,但值的顺序必须和字段顺序一致。也就是说,可以写INSERT INTO students (score, gender, name, class_id) ...,但是对应的VALUES就得变成(80, 'M', '大牛', 2)。
- 如果一个字段有默认值,那么在INSERT语句中也可以不出现。
- 使用INSERT,我们就可以一次向一个表中插入一条或多条记录。