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. 第 1 章 Bootstrap 介绍

    学习要点:1.Bootstrap 概述2.Bootstrap 特点3.Bootstrap 结构4.创建第一个页面5.学习的各项准备 主讲教师:李炎恢 本节课我们主要了解一下 Boostrap 历史.特 ...

  2. Struct2

    1.MVC思想概述 Servlet作为前端控制器,负责接收客户端发送的请求,在Servlet中只包含控制逻辑和简单的前端处理:然后调用后端javabean来完成实际的逻辑处理: 最后转发到相应的jsp ...

  3. 设计模式/原则篇- Unit of Work

    概念 Unit of Work 即工作单元. 用来维护一组受业务影响的对象列表,将多个操作放在一个单元中,把操作原子化,通过事务统一完成一次提交,如果某个过程出现异常,就将所有修改进行回滚,保证数据的 ...

  4. Release编译模式下,事件是否会引起内存泄漏问题初步研究

    题记:不常发生的事件内存泄漏现象 想必有些朋友也常常使用事件,但是很少解除事件挂钩,程序也没有听说过内存泄漏之类的问题.幸运的是,在某些情况下,的确不会出问题,很多年前做的项目就跑得好好的,包括我也是 ...

  5. Linux学习笔记18--Linux系统服务基础

      服务(Service):运行在操作系统后台的一个或多个程序,为用户或系统提供某项特定的服务. 服务通常是不中断运行的,随时接收请求,提供某项服务.例如:http网页服务由诸如nginx.apach ...

  6. JAVA中的GC机制详解

    优秀Java程序员必须了解的GC工作原理 一个优秀的Java程序员必须了解GC的工作原理.如何优化GC的性能.如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统.实时系统等,只 ...

  7. 3种不同的ContextMenu右键菜单演示

    简单使用的右键菜单,希望能帮助大家.下面是截图和实例代码 实例预览 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ ...

  8. 避开unity的坑(转摘)

    避开unity的坑(转摘) 以下总结一部分来自经验之谈,一部分来自其他人的分享.总的来讲,unity开发原型和效果.验证想法,确实是无比便利.可能一个月就把核心玩法做得差不多.强大的编辑器功能让我们也 ...

  9. JavaScript 开发者经常忽略或误用的七个基础知识点(转)

    JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...

  10. Android Animation学习(三) ApiDemos解析:XML动画文件的使用

    Android Animation学习(三) ApiDemos解析:XML动画文件的使用 可以用XML文件来定义Animation. 文件必须有一个唯一的根节点: <set>, <o ...