MySQL SELECT INTO 语法

MySQL SELECT INTO 语法

MySQL SELECT INTO 语法

在MySQL中,我们可以使用SELECT INTO语句将查询的结果集插入到新的表中,或者将查询的结果存储在一个变量中。这个功能非常方便,在某些情况下可以大大简化我们的SQL语句。

语法

SELECT column1, column2, ...
INTO new_table [IN external_db_name]
FROM old_table
WHERE condition;
SQL

参数解释

  • column1, column2, ...: 要选择的列的列表。
  • new_table: 要将结果插入的目标表。
  • external_db_name: 可选参数,指定表所在的外部数据库名称。
  • old_table: 要从中选择数据的表。
  • condition: 用于筛选要选择的数据的条件。

实例

将查询结果插入到新表中

假设我们有一个名为students的表,表中存储了学生的信息,包括姓名、年龄和成绩。现在我们想创建一个新的表excellent_students,将成绩大于等于90分的学生信息插入到这个表中。

CREATE TABLE excellent_students (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255),
    age INT,
    grade INT
);

SELECT name, age, grade
INTO excellent_students
FROM students
WHERE grade >= 90;
SQL

以上SQL语句将会执行一个SELECT查询,选择成绩大于等于90分的学生信息,并将结果插入到excellent_students表中。

将查询结果存储在变量中

除了将结果插入到新表中,我们还可以将查询的结果存储在变量中。例如,我们想统计students表中成绩小于60分的学生数量。

DECLARE num_students INT;

SELECT COUNT(*)
INTO num_students
FROM students
WHERE grade < 60;

SELECT num_students;
SQL

在以上示例中,我们首先创建了一个INT类型的变量num_students,然后执行一个SELECT查询,将结果存储在这个变量中。最后,我们可以通过查询这个变量来获取统计结果。

注意事项

  • 使用SELECT INTO语句时,目标表必须先不存在,否则会报错。
  • 如果想在同一个库中复制表,只能先创建目标表,再使用INSERT INTO … SELECT … 语句。

总的来说,SELECT INTO语句是一个非常有用的特性,可以帮助我们更方便地处理查询结果。当我们需要将查询结果插入到新表中或者将结果存储在变量中时,SELECT INTO语句可以大大简化我们的SQL语句,提高效率。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册