mysql中把一個表的數據批量導入另一個表中
不管是在網站開發還是在應用
程序開發中,我們經常會碰到需要將MySQL某個表的數據批量導入到另一個表的情況,甚至有時還需要指定導入字段。
本文就將以MySQL
數據庫為例,介紹如何通過SQL命令行將某個表的所有數據或指定字段的數據,導入到目標表 中。
類別一、 如果兩張張表(導出表和目標表)的字段一致,並且希望插入全部數據,可以用這種方法:(此方法只適合導出兩表在同一database)
INSERT INTO 目標表 SELECT * FROM 來源表;
例如,要將 articles 表插入到 newArticles 表中,則可以通過如下SQL語句實現:
INSERT INTO newArticles SELECT * FROM articles;
類別二、 如果只希望導入指定字段,可以用這種方法:
INSERT INTO 目標表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 來源表;
請注意以上兩表的字段必須一致(字段類型),否則會出現數據轉換錯誤。
類別三 除了導入指定字段外,還希望導入一些可變量,不變量:例如:內容copy遷移,把指定欄目表caterel下的A欄目下的文章copy到B欄目一份
INSERT INTO caterel (caterel字段) select B欄目字段,固定值(B欄目ID),now() from caterel where 欄目ID=A欄目id