使用DBI(perl)實現文本文件的導入導出mysql

DBI 是perl腳本連接數據庫的一個模塊。
perl腳本相對shell更靈活,功能更強大,跨平臺能力強。相對可執行jar包要簡單很多。

?1、下載安裝包
DBI-1.631.tar.gz
perl腳本下載的網站http://www.cpan.org/
很多perl的組件都可以在這個網站上下載

2、解壓
tar -xzvf DBI-1.631.tar.gz
cd DBI-1.631
perl Makefile.PL
make
make test

3、DBD安裝
下載DBD-mysql-4.032.tar.gz (地址同1)
cd DBD-mysql-4.032
perl Makefile.PL --mysql_config=/usr/local/mysql/bin/mysql_config
make
make test
make install

4、其它可能發生的狀況
如果運行某個調用MYSQL數據庫的程序時出現如下系統提示:
install_driver(mysql) failed: Can't load '/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBD/mysql/mysql.so' for module DBD::mysql: /usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBD/mysql/mysql.so: undefined symbol: uncompress at /usr/lib/perl5/5.6.1/i386-linux/DynaLoader.pm line 206. at (eval 2) line 3
那么說明DBD::MYSQL未安裝成功。
此時將/usr/local/mysql/include/mysql/*
復制到/usr/include/
同時將/usr/local/mysql/lib/mysql/*
復制到/usr/lib/(64位系統/usr/lib64/)
然后使用perl Makefile.PL設置環境,再進行后續的正常安裝,就能正確連接到MYSQL數據庫。

/** 32位系統的解決辦法
cp -rp /usr/local/mysql/include/mysql* /usr/include/
cp -rp /usr/local/mysql/lib/* /usr/lib/
**/
5、導入導出腳本實例

導入
#!/usr/bin/perl
use strict;
use DBI;
my $dbh = DBI->connect("DBI:mysql:database=test;host=localhost", "root", "admin", {'RaiseError' => 1});
my $rows = $dbh->do("LOAD DATA LOCAL INFILE 'test_data.txt' INTO TABLE users FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n'");
print "$rows row(s) affected ";

參考
http://www.cnblogs.com/ggjucheng/archive/2012/11/05/2755683.html

導出:
#!/usr/bin/perl
use strict;
use DBI;
my $dbh = DBI->connect("DBI:mysql:database=test;host=localhost", "root", "admin", {'RaiseError' => 1});
my $rows = $dbh->do("select * from users into outfile '/tmp/test_out_data.txt' fields terminated by '\t' enclosed by '\"' lines terminated by '\n'");
print "$rows row(s) affected ";
參考:
http://www.cnblogs.com/wxb-km/archive/2012/10/23/2736394.html

轉載于:https://www.cnblogs.com/mahyblog/p/4761526.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/273025.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/273025.shtml
英文地址,請注明出處:http://en.pswp.cn/news/273025.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux 車載視頻監控,基于Linux平臺車載視頻監控系統研發-計算機科學與技術專業論文.docx...

基于Linux平臺車載視頻監控系統研發-計算機科學與技術專業論文目錄HYPERLINK \l "_bookmark0" 第一章 緒論1 HYPERLINK \l "_bookmark1" 1.1 研究背景1 HYPERLINK \l "_bookmark2" 1.2 研究動態1 HYPERLINK \l "_bookmark3" 1.3 本文工…

Linux鼠標回報率修改,鼠標回報率怎么調? 設置鼠標回報率的三種方法

鼠標回報率如何設置呢?鼠標回報率又稱刷新率,是指鼠標MCU與電腦傳輸數據頻率。鼠標回報率對于游戲玩家而言至關重要,但同時鼠標回報率與電腦性能息息相關。只有電腦硬件性能良好,才能適當提升鼠標回報率,以實現更高的鼠…

linux下vi修改文件用法

進入vi的命令 vi filename :打開或新建文件,并將光標置于第一行首 vi n filename :打開文件,并將光標置于第n行首 vi filename :打開文件,并將光標置于最后一行首 vi /pattern filename:打開文件&#xff…

linux在芯片設計與實現,基于Linux的Atheros無線芯片網卡驅動的設計與實現

Design and Implementation of Linux based Atheros wireless network cards driverDU Qingbo1杜清波(1985-),男,碩士研究生,主要研究方向:嵌入式系統與網絡通信1、School of Computer Science,Beijing University of Posts and T…

[轉載]孫婧妍:高考語文148分是這樣煉成的(附:孫婧妍

原文地址:孫婧妍:高考語文148分是這樣煉成的(附:孫婧妍2013高考作文《手機論》)作者: 語文新高考高考語文148分是這樣煉成的 (附:孫婧妍2013高考作文《手機論》) 來源:網絡 作者:孫婧妍…

linux ps 命令安裝,Linux上安裝pstree命令(-bash: pstree: command not found)

一、pstree命令的安裝1、在Mac OS上brew install pstree2、在Fedora/Red Hat/CentOSyum -y install psmisc3、在 Ubuntu/Debianapt-get install psmisc二、pstree命令詳解pstree指令用ASCII字符顯示樹狀結構,清楚地表達程序間的相互關系。如果不指定程序識別碼或用戶…

c語言字符串逆置,字符串逆置

滿意答案9n7j5j3m4o2013.12.03采納率:49% 等級:11已幫助:15198人47911 zxl0714 1358 Accepted 164K 15MS G 0.46K 2007-04-08 10:32:38#include using namespace std;void reverse(char* ch){int i, len;char tmp;len strlen( ch );for (…

哈夫曼編碼c語言論文,哈夫曼編碼的實現及應用論文.doc

哈夫曼編碼的實現及應用論文畢 業 設 計(論文)題目 哈夫曼編碼的實現及應用二級學院 數學與統計學院專 業 信息與計算科學班 級學生姓名 張澤欣 學號指導教師 職稱時 間目錄摘要IAbstractII第一章 緒論11.1 研究目的及意義11.2 圖像壓縮編碼技術概述21.2.1 圖像壓縮編碼技術分類…

css筆記3

CSS 多類選擇器,通過把兩個類選擇器鏈接在一起&#xff0c;僅可以選擇同時包含這些類名的元素&#xff08;類名的順序不限&#xff09;。 <p class"important warning"> This paragraph is a very important warning. </p>.important {font-weight:bold;…

java保留有效數字

1 在處理數值運算的時候&#xff0c;有時候會遇到保留幾位小數的需求&#xff0c;下面是一個保留兩位小數的簡單方法。2 /**3 * 將數據保留兩位小數4 */5 privatedoublegetTwoDecimal(doublenum) {6 DecimalFormatdFormatnewDecimalFormat("#.00"…

C語言algorithm主函數,C語言中主函數中相關有關問題?

C語言中主函數中相關問題&#xff1f;&#xff1f;&#xff1f;#include #include #include #include #include #include #include #include #include using namespace std;int mp[20][20], b[20], max1, n;struct node{int a[15], top, ans, x;};void bfs(){int i, j, x;queue…

【Android基礎】Fragment 詳解之Fragment介紹

Fragment在Android 3.0&#xff08; API 11&#xff09;引入&#xff0c;是為了支持在大屏上顯示更加動態、靈活的UI&#xff0c;比如在平板和電視上。Fragment可以看作是嵌套的Activity&#xff0c;類似ActivityGroup&#xff0c;但是開銷肯定沒有ActivityGroup那么大&#xf…

c語言統計數據,數據統計

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓#include void input(float score[10][5]);void average(float aver[]);void course(float cour[]);float score[10][5],aver[10],cour[5];int i,j;void main(){printf("please input the scores of all the students\n"…

傳遞閉包c語言算法解析,找關系的傳遞閉包 用c語言編 一個關系的傳遞閉包

為什么叫傳遞閉包&#xff1f;&#xff1f;有什么特殊含義&#xff1f;&#xff1f;設R是X上的二元關系&#xff0c;如果另一個關系R1滿足&#xff1a;R1是傳遞的&#xff0c;R是R1的子集&#xff0c;對于任何可傳遞關系R11如果有R是R11的子集&#xff0c;就有R1是R11的子集。則…

linux之cp/scp命令+scp命令詳解

命令&#xff1a;cp 使用權限&#xff1a;所有使用者 使用方式&#xff1a; cp [options] source dest cp [options] source... directory 說明&#xff1a;將一個檔案拷貝至另一檔案&#xff0c;或將數個檔案拷貝至另一目錄。 把計 -a 盡可能將檔案狀態、權限等資料都照原狀予…

linux安裝mq報5724,linux下MQ簡單配置手冊.doc

精品消息發送涉及到的隊列及通道示意圖&#xff1a;定義發送方為A&#xff0c;接收方為B&#xff0c;下面是建立A向B發送消息的單向配置。發送方A的配置1. 在發送方A創建隊列管理器QM_A&#xff1a;[[email protected] ~]$ crtmqm -q QM_A成功后會有如下提示&#xff1a;There …

asp.net MVC控制器中返回JSON格式的數據時提示下載

Asp.net mvc在接收的是JSON格式的數據&#xff0c;但是奇怪的是在IE中提示下載文件&#xff0c;其他瀏覽器中一切正常&#xff0c;下載后&#xff0c;里面的內容就是在控制器中返回的數據。代碼如下&#xff1a; 視圖中js代碼&#xff1a; $("#form").ajaxSubmit({ …

linux postfix 搭建,linux 下搭建postfix服務器

linux 下postfix郵箱的安裝linux一、首先關閉sendmail服務service sendmail stop二、chkconfig sendmail off(關閉開機自啟動)三、修改DNS正解文件&#xff0c;使DNS可以解析郵箱服務添加下面兩行mail.zhubf.com. IN A 172.17.17.2zhubf.com. IN MX 10 …

兩個鏈表的第一個公共結點-輸入兩個鏈表,找出它們的第一個公共結點。

1、蠻力法&#xff1a; 1 /*2 struct ListNode {3 int val;4 struct ListNode *next;5 ListNode(int x) :6 val(x), next(NULL) {7 }8 };*/9 class Solution { 10 public: 11 ListNode* FindFirstCommonNode( ListNode *pHead1, ListNode *pHe…

android 飛框動畫,AndroidTV中實現飛框選中效果

相信很多從事AndroidTV開發的朋友都對如何展示item的選中效果感到苦惱&#xff0c;電視端開發與移動端最大的不同是用戶只能通過一個遙控器進行控制(當然如果你的電視是觸屏的話除外……)&#xff0c;在這個時候&#xff0c;我們需要讓用戶知道當前選中的到底是哪一個項目&…