SQLite將一個表中的數據導入到另一個表中

跨數據庫和數據庫文件的導入,我沒有這個需求,所以這裏沒有記錄。

將一個表中的數據導入到另一個表中,有幾種方式:

1. 自己創建出來新表,然後將老表中的數據導入到新表中。

2. 將老表中的數據導入到一個自動創建的新表中。

3. 將老表導出到SQL文件,然後從SQL文件導入數據到新表中(這裏沒有記錄)。

--創建fut_info表。
CREATE TABLE IF NOT EXISTS fut_info(
exchange VARCHAR(32) NOT NULL,
code     VARCHAR(32) NOT NULL,
product  VARCHAR(32) NOT NULL,
PRIMARY KEY(exchange,code)
);

--爲fut_info表添加數據。
REPLACE INTO fut_info
      (exchange,code,     product)
VALUES('CFFEX', 'IF1701', 'IF'),
      ('CFFEX', 'IF1702', 'IF'),
      ('CFFEX', 'IF1703', 'IF'),
      ('CFFEX', 'IF1706', 'IF');

--創建fut_info_temp表。
CREATE TABLE IF NOT EXISTS fut_info_temp(
exchange VARCHAR(32) NOT NULL,
code     VARCHAR(32) NOT NULL,
product  VARCHAR(32) NOT NULL,
PRIMARY KEY(exchange,code)
);

--將一個表(fut_info)中的數據插入到另一個表(fut_info_temp)中。
REPLACE INTO fut_info_temp SELECT * FROM fut_info;
REPLACE INTO fut_info_temp(exchange,code,product) SELECT exchange,code,product FROM fut_info WHERE exchange='CFFEX';

--自動創建一個新表(fut_info_t2),並將老表(fut_info)中的數據插入到新表(fut_info_t2)中。
CREATE TABLE fut_info_t2 AS SELECT * FROM fut_info;

完。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章