2010-09-29 101 views
7

我有一個sql文件,它有很多插入語句(1000+),導出SQL文件到Excel中

例如,

insert into `pubs_for_client` (`ID`, `num`, `pub_name`, `pub_address`, `pub_tele`, `pub_fax`, `pub_email`, `publ_website`, `publ_vat`, `pub_last_year`, `titles_on_backlist`, `Personnel`) values('2475','2473','xxx xxx xxx','xxx xxx, xxxx, xxxx, xxxx, ','000000 ','0000 ',NULL,NULL,NULL,NULL,NULL,NULL); 

我的客戶希望這些在一個excel文件。

是否可以從此sql文件中提取信息並將其導入到Excel電子表格中?我正在使用excel 2007.

+0

你想提取插入語句,還是想提取他們插入到表中的數據? – codeulike 2010-09-29 11:02:59

+0

@codeulike,我想提取它們插入到表中的數據。 – 109221793 2010-09-29 11:03:26

+0

你有什麼可以將你連接到數據庫?你有SQL Server管理工作室或類似的東西 – codeulike 2010-09-29 11:05:14

回答

10

如果您在某處安裝了mysql並安裝了phpMyAdmin,只需導入.sql文件並直接從phpMyAdmin中將該表導出爲.xls文件即可。

2

你的意思是出口值?

假設你正在使用SQL Server +工具最簡單的方法是

  1. 實際插入這些價值觀爲表(創造如有必要,臨時表)
  2. select * from pubs_for_client
  3. 副本+將結果表格粘貼到Excel中。

你必須設置列寬你自己,如果你有數量作爲一種字符串列,你想保持作爲字符串(例如保留前導零),那麼你就需要設置首先接收列類型。

如果不是,並且您的數據庫不能使用類似的工具,則可以使用正則表達式或僅使用文本編輯器將SQL文件轉換爲Excel將讀取的CSV文件。您還必須從值和空值以及加倍引號撇號中編輯引號。不幸的是,你不能提前指定列類型,你會數字丟失前導零。

5

編輯:如果您想提取從INSERT語句中的數據,而無需實際運行當中,你可以:

  • 保存SQL文件作爲一個CSV文件
  • 打開它在Excel中,它會自動將使用逗號了分裂語句轉換成位
  • 大部分列數據的左側不會是值得保留,所以刪除它們
  • 最右邊的列中應當包含數據
+0

這實際上非常有用!謝謝! – user2216190 2014-05-13 18:18:37

2

如果你不想安裝任何工具,你可以嘗試這個......它很簡單,但需要一些正則表達式匹配字符串的試驗和錯誤。

  1. 複製在列名擅長
  2. 打開與插入語句文件並點擊全部替換。插入到通配符(ID,num,pub_name,pub_address,pub_tele,pub_fax,pub_email,publ_website,publ_vat,pub_last_year,titles_on_backlist,Personnel)中的值(不含任何內容。
  3. 查找)\ n使用通配符並將其全部刪除。
  4. 現在這個文本文件已準備好導入到excel中。您可以將其複製到剪貼板,然後使用excel或excel打開。

方面注意:你也可以嘗試讓你的客戶端發送它在excel中,因此它通常在大多數數據提供者中可用。