MySQL是一个关系型数据库管理系统,它提供了INSERT语句来向数据库表中插入新的数据,INSERT语句的基本语法如下:
INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);
表名是要插入数据的表的名称,列1、列2、列3等是表中的列名,值1、值2、值3等是要插入的数据。
以下是一些关于MySQL INSERT用法的详细介绍:
1、插入单行数据:
当要插入的数据只有一行时,可以直接使用上述的基本语法,有一个名为students的表,包含id、name和age三个列,要插入一条数据(1, '张三', 20),可以使用以下语句:
```sql
INSERT INTO students (id, name, age) VALUES (1, '张三', 20);
```
2、插入多行数据:
当要插入的数据有多行时,可以使用多个INSERT语句或者一个INSERT语句多次执行,要插入两条数据(1, '张三', 20)和(2, '李四', 22),可以使用以下两种方法:
方法一:使用多个INSERT语句:
```sql
INSERT INTO students (id, name, age) VALUES (1, '张三', 20);
INSERT INTO students (id, name, age) VALUES (2, '李四', 22);
```
方法二:在一个INSERT语句中多次执行:
```sql
INSERT INTO students (id, name, age) VALUES (1, '张三', 20), (2, '李四', 22);
```
3、插入所有列的数据:
当表中的所有列都需要插入数据时,可以省略列名列表,但必须提供相应的值,要插入一条数据(1, '张三', 20),可以使用以下语句:
```sql
INSERT INTO students VALUES (1, '张三', 20);
```
4、同时插入多表数据:
当需要同时向多个表中插入数据时,可以使用多个INSERT语句或者一个INSERT语句多次执行,有两个表students和courses,要同时插入两条数据(1, '张三', 20)和(1, '计算机科学', 'CS'),可以使用以下两种方法:
方法一:使用多个INSERT语句:
```sql
INSERT INTO students (id, name, age) VALUES (1, '张三', 20);
INSERT INTO courses (student_id, course_name) VALUES (1, '计算机科学');
```
方法二:在一个INSERT语句中多次执行:
```sql
INSERT INTO students (id, name, age), courses (student_id, course_name) VALUES (1, '张三', 20), (1, '计算机科学');
```
5、从其他表中复制数据并插入到新表中:
当需要从一个表中复制数据并插入到另一个新表中时,可以使用SELECT语句和INSERT语句结合,有一个名为students的表,要创建一个新表new_students并将students表中的所有数据复制到新表中,可以使用以下语句:
```sql
CREATE TABLE new_students AS SELECT * FROM students;
```
6、使用子查询插入数据:
当需要根据子查询的结果插入数据时,可以在INSERT语句中使用子查询,有一个名为students的表,要根据学生的年龄分组并计算每个年龄的学生人数,然后将结果插入到一个新表中,可以使用以下语句:
```sql
CREATE TABLE student_count AS SELECT age, COUNT(*) as count FROM students GROUP BY age;
```
以上就是MySQL中INSERT语句的一些常用用法,通过掌握这些用法,可以更方便地向数据库表中插入数据。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/343184.html