mysql從一張表中取出資料插入到另一張表
最近有這樣一個需求,原來的訂單表wp_order設計不合理,原來的訂單表沒有訂單詳表,只有一張主表。現在是要重構訂單表,分為訂單主表wp_order_master和訂單詳表wp_order_detail,需要把原來的wp_order中的資料拆分後插入這兩張表。
我這裡總結有3種mysql插入語句方式,分別是:
以下表1為目標表,表2為原表
- 表結構一樣
insert into 表1select * from 表2
這個方式說白了就跟複製一樣,要求2張表的所有欄位一致,否則報錯。
- 表結構不一樣
insert into 表1 (列名1,列名2,列名3) select 列1,列2,列3 from 表2
這種也不能說是表結構不一樣,其實就是有選擇性的從表2取出資料對應表1欄位插入。
- 只從另外一個表取部分欄位
insert into 表1 (列名1,列名2,列名3) values(列1,列2,(select 列3 from 表2));
這種方式適用的情況是,在從表2取出部分欄位資料的同時,表1有新的欄位也需要資料,相當於第2種方式的升級版。
我這裡採用第2種方式:
INSERT INTO wp_order_master (id,order_number,order_code,uid,cTime,pay_time,total_price,is_pay,
alipay_price,wechat_price,balance_price,cash_price,union_price,active_id,active_price,coupon_id,coupon_price,
integral_num,integral_price,erase_price,use_packet_id,order_from) SELECT id,order_number,order_code,uid,cTime,pay_time,total_price,is_pay,
alipay_price,wechat_price,balance_price,cash_price,union_price,active_id,active_price,coupon_id,coupon_price,
integral_num,integral_price,erase_price,use_packet_id,order_from FROM wp_order WHERE id BETWEEN 10 AND 20;
裡面因為測試,select的where後面加了條件。
這裡也把原order表的id插入了order_master,作為主鍵更新order_detail表。
相關文章
- db2 sql批量插入一張表插入另一張表DB2SQL
- mysql怎麼複製一張表的資料到另一張表MySql
- mysql 從一個表中查詢,插入到另一個表中MySql
- SQL語句將查詢結果插入到另一張表中SQL
- MySQL複製表結構和內容到另一張表中的SQL語句MySql
- mysql一張表到底能存多少資料?MySql
- 用sed從mysqldump全備檔案中取出某張表的表結構MySql
- django(django學習) 兩張表建立 插入資料Django
- 更新一張與另一張表關聯的連線欄位記錄
- mysqldump 備份匯出資料排除某張表或多張表MySql
- 查詢mysql某張表中的所有資料(欄位)型別MySql型別
- Python操作excel(將多張excel表融合到一張表)PythonExcel
- Mysql實現定時清空一張表的舊資料並保留幾條資料MySql
- 從0到1,用張三的故事講述一張中學生也能看懂的財務報表
- mysql三張表關聯查詢MySql
- 使用SQL語句將資料庫中的兩個表合併成一張表SQL資料庫
- 檢視mysql哪張表比較大MySql
- 從兩張表中取資料的 SQL 能改寫成 Laravel Eloquent 的形式嗎?SQLLaravel
- 如何較方便給上百張資料庫表新增表欄位資料庫
- 【SQL】根據兩列資訊,整合兩張表資料SQL
- SQLSERVER查詢某個資料庫有幾張表SQLServer資料庫
- MySQL 拷貝一個InnoDB分割槽表到另一個例項MySql
- 許可權八張表
- 資料庫的基本資訊,都在這幾張表裡了資料庫
- Mysql 大資料表 資料匯入到SqlServer 中的方法MySql大資料Server
- Firedac 在資料表中插入BLOB資料的方法
- 將ECharts圖表插入到Word文件中Echarts
- 分庫分表如何管理不同例項中幾萬張分片表?
- mysql 快清表中的資料MySql
- 順序表有序插入資料
- 分庫分表插入資料
- Laravel 中兩張資料表 left join 怎麼讓相同欄位不被覆蓋?Laravel
- mysql資料表插入資料後,獲取自增欄位值的方法MySql
- Oracle如何把一個表匯出匯入到另一個伺服器上的另一個表裡Oracle伺服器
- mybatis 同一張表的資料被對映到 一個結果物件例項 的 多個屬性物件 上MyBatis物件
- Sql查詢 一個表中某欄位的資料在另一個表中某欄位中不存在的SQL
- hive將查詢資料插入表中某欄位無資料Hive
- MySQL中複製資料表中的資料到新表中的操作教程MySql