首頁 > 資料庫 > mysql教程 > 如何使用標準 SQL 語法將資料從一個表插入到另一個表?

如何使用標準 SQL 語法將資料從一個表插入到另一個表?

DDD
發布: 2025-01-24 03:52:09
原創
890 人瀏覽過

How to Insert Data from One Table to Another Using Standard SQL Syntax?

SQL:在表格之間複製資料

一項常見的 SQL 任務涉及將資料從一個表傳輸到另一個表。 雖然不同資料庫系統的特定語法可能略有不同,但廣泛相容的方法使用 INSERT INTO ... SELECT 語句。

資料插入的標準 SQL 語法

以下語法提供了跨各種資料庫管理系統 (DBMS) 的高度相容性:

<code class="language-sql">INSERT INTO target_table (column1, column2, ...)
SELECT source_column1, source_column2, ...
FROM source_table
[WHERE condition];</code>
登入後複製

這是一個細分:

  • target_table:接收新資料的表。
  • column1, column2, ...target_table 中將插入資料的欄位。 訂單必須與 SELECT 語句相符。
  • source_column1, source_column2, ...source_table 中提供資料的欄位。 資料類型應與對應的 target_table 列相容。
  • source_table:提供資料的表。
  • WHERE condition(可選):在插入之前過濾 source_table 中的資料。 僅複製滿足條件的行。

資料庫管理系統相容性

INSERT INTO ... SELECT 方法通常適用於各種 DBMS,包括:

  • 甲骨文
  • 微軟 SQL Server
  • MySQL
  • PostgreSQL
  • SQLite
  • Teradata
  • DB2
  • Sybase
  • Vertica
  • HSQLDB
  • H2
  • 亞馬遜紅移
  • SAP HANA
  • Google Cloud Spanner

說明性範例

假設我們有一個「employees」表和一個「department_summary」表。 要使用員工部門名稱填充 department_summary

<code class="language-sql">INSERT INTO department_summary (department_name)
SELECT department
FROM employees;</code>
登入後複製

這會將 employees 表中的所有唯一部門名稱插入到 department_name 表的 department_summary 欄位中。 請注意,重複的部門名稱只會插入一次。 如果您需要以不同的方式處理重複項,則需要新增額外的邏輯(例如,使用 GROUP BY 和聚合函數)。

以上是如何使用標準 SQL 語法將資料從一個表插入到另一個表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板