Access 数据导入mysql_MySQL
bitsCN.com
从Access中提取若干信息,导入到mysql中。
嗯,多简单的事呀。。。不过是SQL语句的导入导出嘛。。。我开始真的是这么想的。。。
做的时候发现,Access没有导出SQL的功能,不想用第三方的东西。。。
这里简单描述下我是怎么做的吧!
1、在access中建个视图,得到自己想要的数据;
2、把这个视图查询到的数据,导出成文本格式,我用的是CVS;
3、用文本编辑器,把导出的数据 处理成 SQL语句(多亏了vim,用其他编辑器都不知道怎么办才好,打开都成问题,更不用说快速编辑了。。。UE打开后,滚轮都滚不动的说。。。);
4、用mysql命令,导入mysql。
思路很清晰,我就这么做了。直到最后一步,才发现问题:数据量太大(68万条),这一步很慢很慢。
慢也就罢了,只做一次(等了我近2个小时),没什么关系。。。可是,马上发现,数据中时间格式不对。比如Access中是2011-1-1,而mysql这边,期望得到的是2011-01-01,就这一个时间,要改动几十万条记录,还不如重新导一份新的呢。。。
于是,重复步骤2,得到数据。
因为导入过程慢的实在太离谱了,就找了个mysqldump 备份出来的文件来看,看一看mysql官方觉得怎样导入数据会更快,于是发现了诸如下面的内容:
Sql代码
LOCK TABLES `tablename` WRITE;
ALTER TABLE `tablename` DISABLE KEYS;
INSERT INTO `tablename` (id,name,password) VALUES
-- 这里是数据
;
ALTER TABLE `tablename`ENABLE KEYS;
UNLOCK TABLES;
LOCK TABLES `tablename` WRITE;
ALTER TABLE `tablename` DISABLE KEYS;
INSERT INTO `tablename` (id,name,password) VALUES
-- 这里是数据
;
ALTER TABLE `tablename`ENABLE KEYS;
UNLOCK TABLES;
很明显,这里的SQL从3个方面做了优化:
1、加了只写的锁(解锁之前,不能查询,同时索引 可以最后做,插入数据 就会快啦);
2、Disable了所有键(于是,就不用再做外键检查了,全心插入数据);
3、insert into 用一条语句完成(一条语句 和 金条语句 的性能,差别不是一般的大啊,想想也觉得是。。。)。
这样之后,几分钟就能搞定。
另外,说一点文本处理的。。。
一开始,习惯性的,要写成一条一条的SQL,于是想到了用宏来做。宏很简单,小数据量非常方便,不用大脑怎么思考。但是,做了一会,发现实在太慢了,大数据量,处理不了。
我平时很少写vim脚本,现在想来,用脚本也会很慢,毕竟要一行行的执行呀。。。
于是乎,写正则,查找替换。很快,几秒钟搞定一次替换。正则的威力,真不是一般的强大啊。。。上面说的时间格式的转换,也是在这里做的。
注意:即使你的文本很好看,可以试试列编辑。一般行首适用,后面 几乎都不可用了。。。
这里要说的是,不要把多行数据变成一行,没这个必要。变成一行后,可读性会变的很差,文本处理会变的非常的慢。如果一行匹配的次数过多,用g这个参数,往往会很慢。。。
就说这些吧。。。
重新理了下思路。。。
下次估计10分钟就能搞定这样的事。。。
bitsCN.com

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PyCharm是一款廣受開發者歡迎的整合開發環境,它提供了豐富的功能和工具,使得Python開發變得更有效率和便利。其中,一鍵導入第三方函式庫是PyCharm的一個非常實用的功能,可以幫助開發者快速匯入所需的外部函式庫,提高開發效率。本文將為大家介紹PyCharm的一鍵導入第三方函式庫的使用指南,並提供具體的程式碼範例。 1.打開PyCharm首先,打開PyCharm並進

edge瀏覽器上的擴充插件數量比較少很難滿足所有使用者的日常使用,這個時候就需要安裝第三方插件了,那麼可不可以在edge瀏覽器上安裝呢?下面就一起來看看吧。 edge瀏覽器可以安裝第三方外掛程式嗎:答:可以安裝。新版edge無法透過直接拖曳來快速安裝插件,將crx擴充檔案拖曳到開發者頁面時,edge會預設為另存文件,而導致無法直接安裝。 1.將檔案移到edge拓展應用程式資料夾然後重新命名為zip格式,並進行解壓縮。 2.新版edge的擴充功能點擊右上角的三個點就能在工作列中看到。 3.在拓展頁面開啟「開發人員模式

NEARProtocol:可擴展、用戶友好的區塊鏈平台NEARProtocol是一個採用分片技術的區塊鏈平台,旨在應對區塊鏈技術在可擴展性、用戶友好性和安全性方面面臨的挑戰。它為開發者提供了一個高效和用戶友好的平台,使他們能夠輕鬆建立和部署去中心化應用程式(dApps)。 NEARProtocol的設計旨在降低區塊鏈開發的門檻,同時提供高度的效率和安全性。透過採用分片技術,NEARProtocol可以更好地處理大規模交易,並且為用戶提供更快速的交易確認時間。總的來說,NEARProtocol旨在為

如何在Laravel中整合第三方權限認證系統引言:Laravel是一款功能強大的PHP開發框架,它提供了許多便利的功能和工具來簡化開發流程。在實際開發中,我們常常需要整合第三方權限認證系統來管理使用者權限。本文將介紹如何在Laravel中整合第三方權限認證系統,並提供了具體的程式碼範例。第一步:安裝第三方權限認證系統首先,我們需要選擇並安裝一個適當的第三方權限認

安鈦克650w主機板線是幾pin的安鈦克650W電源主機板的電源線通常是24pin的,這是主機板上最大的電源介面。它的作用是連接主機板和電源,為主機板和其他系統組件提供電源。此外,安鈦克650W電源還可能包含其他類型的電源接口,如CPU8pin、PCIe6+2pin等,用於連接CPU和獨立顯示卡等其他組件。主機板走線教學主機板走線是指在設計主機板時,將各個電子元件之間的電路連接起來的過程。在這個過程中,需要考慮電路的穩定性、訊號傳輸的速度和準確性等因素。根據電路圖進行走線時,需注意佈局和選擇適當的線寬和距離,避免

提升效率:PyCharm快速導入第三方函式庫技巧分享Python是一種廣泛應用的程式語言,由於其強大的第三方函式庫支持,使得Python成為了許多開發者的首選。在Python開發過程中,我們常會使用到各種第三方函式庫來實現各種功能,例如資料處理、網路請求、繪圖等。然而,每次手動匯入第三方函式庫不僅繁瑣,而且容易出錯。 PyCharm是一款功能強大的Python整合開發環境

PyCharm是廣受歡迎的Python整合開發環境,可大幅提高開發效率。在使用PyCharm進行開發的過程中,我們常會用到第三方函式庫來擴充功能。如何優雅地處理第三方函式庫的導入是一個關鍵問題,本文將分享一些PyCharm開發秘籍,幫助開發者更好地處理第三方函式庫的導入,並附上具體的程式碼範例。一、使用虛擬環境在使用PyCharm開發專案時,建議使用虛擬環境來管理項目

隨著現代互聯網技術的不斷發展,使用第三方API已成為開發者快速建立應用程式的常見方式。 API(ApplicationProgrammingInterface)指的就是應用程式的接口,它允許開發者使用現有的軟體和服務來整合不同的應用程式。 PHP作為一種廣泛使用的Web程式語言,提供了許多方式來使用第三方API,並且透過使用API,我們可以輕鬆實現不同
