日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

使用DBI(perl)实现文本文件的导入导出mysql

發布時間:2023/12/10 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用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

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的使用DBI(perl)实现文本文件的导入导出mysql的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。