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

使用DBI(perl)实现文本文件的导入导出mysql的更多相关文章

  1. mysqldump导入导出mysql数据库

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  2. 通过cmd窗口导入导出mysql数据库

    1.导入数据库 使用source命令 首先要在cmd窗口中连接数据库,然后再用source命令进行导入操作 mysql>use 数据库名 mysql>source d:/dbname.sq ...

  3. 使用mysqldump导入导出MySQL数据库

    数据库的基本导入\导出的命令 是 mysqldump 和 source 在linux下直接用命令行操作就可以 在windows下 一般情况下有两种方法一个也是用命令行 另一个是用phpmyadmin ...

  4. linux 导入导出mysql相关问题

    linux 导入mysql报错 CREATE DATABASE `mmm` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;   CREATE D ...

  5. CSV文件导入导出MySQL

    使用SQLyog 工具导入文件数据到MySQL: Excel文件导入导出: 需要驱动:Microsoft Office 2007驱动 导入需要注意的问题:1.Excel里数值列,默认导入会变成浮点型. ...

  6. 使用Navicat 导入导出Mysql数据库

    1 导出 另外一种方式 2 导入,新建数据名称 3 导入,运行sql文件(步骤1中的) 推荐使用SQLyog进行导入数据比较好

  7. linux下如何导入导出MySQL数据库

    一.导出:用mysqldump命令行命令格式mysqldump -u 用户名 -p 数据库名 > 数据库名.sql范例:mysqldump -u root -p abc > abc.sql ...

  8. 导入导出Mysql数据库、表结构、表数据

    由sql文件导入 mysql -uusername -ppwd < ./abc.sql 导出整个数据库的表结构 mysqldump -uroot -pdbpasswd -d dbname > ...

  9. DOS下导入导出MySQL备份

    导入: 1. cd d:\mysql\bin #cd 到 mysql 的 bin 目录下 2. mysql -u root -p mysql_db_name < d:\mysql\data\ba ...

随机推荐

  1. 怎样学习Scala泛函编程

    确切来说应该是我打算怎么去学习Scala泛函编程.在网上找不到系统化完整的Scala泛函编程学习资料,只好把能找到的一些书籍.博客.演讲稿.论坛问答.技术说明等组织一下,希望能达到学习目的.关于Sca ...

  2. SQL数据库: 错误2812 未能找到存储过程 sp_password

    SET QUOTED_IDENTIFIER ON  GO  SET ANSI_NULLS OFF  GO  create procedure sp_password      @old sysname ...

  3. C#开发可以可视化操作的windows服务

    使用C#开发自定义windows服务是一件十分简单的事.那么什么时候,我们需要自己开发windows服务呢,就是当我们需要计算机定期或者一 直执行我们开发的某些程序的时候.我经常看到许多人开发的win ...

  4. Could not publish to the server. java.lang.NullPointerException

    右键单击tomcat服务器,找到Properties,点下switch location就好了.

  5. something

    var colors=['red','green','yellow']; console.log(colors)//['red','green','yellow'] console.log(color ...

  6. HTML自学基础

    关于自学HTML中遇到的各类细节问题 1.<a>表示链接标签,类似的有<img src>.链接的地址在<base>中填写.<base href="h ...

  7. 太可爱了!CSS3 & SVG 制作的米老鼠钟表

    米老鼠是大家非常熟悉的迪斯尼动画形象.这是一个可爱的效果,结合 CSS & SVG 图形实现的米老鼠钟表效果.Web 技术让很多生活中的事物都能搬到网上去,后面的推荐阅读也有很多的效果,感兴趣 ...

  8. #8.12.16总结#background transition、animation、transform

    background-origin 设置元素背景图片的原始起始位置.必须保证背景是background-repeat为no-repeat此属性才会生效. background-origin :bord ...

  9. SharePoint 2013 REST 服务使用简介

    1.创建测试使用列表”REST Demo”,插入一些测试数据,如下图: 2.添加内容编辑器,并且添加脚本引用以及HTML代码,如下图: Result的Div为显示结果使用,input标签触发REST服 ...

  10. PagerTabStrip在ViewPager的页面中添加标题显示

    package com.qf.day18_viewpager_demo_05; import java.util.ArrayList; import java.util.List; import an ...