首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

MySQL 將指定欄位從 table1 複製到 table2 的 SQL 語法教學

     編輯:程式設計綜合問答

需求情境

資料表 table1 包含欄位 id、name、url。需將 id 與 url 兩個欄位的資料複製到 table2,且 table2 可能只有這兩個欄位或欄位順序不同。

核心 SQL 語法

使用 INSERT INTO ... SELECT 陳述式,明確指定目標欄位與來源欄位對應:

INSERT INTO table2 (id, url)
SELECT id, url
FROM table1;

關鍵注意事項

  • 欄位名稱可不同,但資料型別必須相容(如皆為 INT、VARCHAR 等)。
  • 欄位順序以 INSERT 子句為準,SELECT 清單順序必須一一對應。
  • 若 table2 尚不存在,需先建立結構:
CREATE TABLE table2 (
    id INT PRIMARY KEY,
    url VARCHAR(255)
);

進階:避免重複資料

若 id 為主鍵,可使用 INSERT IGNORE 或 ON DUPLICATE KEY UPDATE:

INSERT INTO table2 (id, url)
SELECT id, url FROM table1
ON DUPLICATE KEY UPDATE url = VALUES(url);

總結

明確列出欄位清單是最佳實務,能避免因資料表結構變更導致的錯誤,且提升 SQL 可讀性與維護性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved