>일반적인 문제 >선택 구문에 삽입 사용

선택 구문에 삽입 사용

DDD
DDD원래의
2023-07-06 16:54:035691검색

데이터베이스에서 INSERT INTO SELECT 문은 쿼리 결과를 다른 테이블에 삽입하는 데 사용됩니다. INSERT INTO SELECT 문을 사용하면 한 테이블의 내용을 다른 테이블에 쉽게 복사하거나 쿼리 결과를 기반으로 새 테이블을 만들 수 있습니다.

선택 구문에 삽입 사용

INSERT INTO SELECT 구문은 다음과 같습니다.

INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;

table1에서 특정 조건을 만족하는 행의 컬럼1, 컬럼2, 컬럼3 및 기타 컬럼의 값을 해당 컬럼에 삽입한다는 의미입니다. 테이블 2에서.

다음은 INSERT INTO SELECT의 사용법을 보여주는 실제 예입니다.

students와 new_students라는 두 개의 테이블이 있다고 가정해 보겠습니다. 학생 테이블에는 ID, 이름, 나이, 점수 열이 포함되어 있습니다. 학생 테이블에 있는 18세 이상의 학생을 new_students 테이블에 삽입하려고 합니다.

먼저 학생 테이블을 생성하고 몇 가지 샘플 데이터를 삽입합니다.

CREATE TABLE students (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50),
  age INT,
  score INT
);
INSERT INTO students (name, age, score)
VALUES ('John', 16, 90),
       ('Alice', 20, 95),
       ('Tom', 18, 85),
       ('Emily', 17, 88);

다음으로 new_students 테이블을 생성합니다.

CREATE TABLE new_students (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50),
  age INT,
  score INT
);

마지막으로 INSERT INTO SELECT 문을 사용하여 학생 테이블에 18세 이상의 학생을 삽입합니다. table into new_students 테이블 내:

INSERT INTO new_students (name, age, score)
SELECT name, age, score
FROM students
WHERE age >= 18;

이런 식으로 new_students 테이블에는 학생 테이블의 18세 이상의 학생 정보가 포함됩니다.

쿼리 결과를 다른 테이블에 직접 삽입하는 것 외에도 INSERT INTO SELECT 문을 사용하여 쿼리 결과만 포함하는 새 테이블을 만들 수도 있습니다.

CREATE TABLE new_table AS
SELECT column1, column2, ...
FROM table
WHERE condition;

이런 방식으로 new_table이 생성되고 쿼리 결과가 포함됩니다.

요약

INSERT INTO SELECT 문은 한 테이블(또는 쿼리 결과)에서 특정 행을 선택하여 다른 테이블에 삽입합니다(또는 새 테이블을 만듭니다). 이 기능은 매우 강력하며 새 테이블을 쉽게 복사, 필터링 및 생성할 수 있습니다.

위 내용은 선택 구문에 삽입 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.