易截截图软件、单文件、免安装、纯绿色、仅160KB

perl利用内存使用sql语句

 大家好!最近又有了一些模块用法的心得,那就是利用模块使你的内存变成一个虚拟的数据库模式,使你可以在没有数据库的情况下,将txt文件的数据进行 sql语句处理,感觉很新鲜吧,不过这个不用感到惊讶,Perl一直是很完美的,哈哈,那我们就来看看这个神奇吧!
需要安装 模块:
SQl::Library;
DBI 
下面是程序(比较文件1和文件2中的关键字段,比如歌曲比歌曲,歌手比歌手,如果相同就输出):
#!/usr/bin/perl
use SQl::Library;
use DBI;
my $data1='T';
my $data2='R';
my $dbh = DBI->connect('dbi:AnyData(RaiseError=>1):');
$table='students';
$format='Tab';   #文件是以制表符分割的
$file='d:/test.txt';  #文件1
$flags = { col_names => 'a,b,c,d,e,f,g,h'}; #文件有几个表字段
$dbh->func( $table, $format, $file, $flags, 'ad_import');
$table1='students1';
$format1='Tab';  #文件是以制表符分割的
$file1='d:/test2.txt'  #文件2
flags1 = { col_names => 'a,b,c,d,e,f,g,h,i'}; #文件有几个表字段
$dbh->func( $table1, $format1, $file1, $flags1, 'ad_import');
my $tel_sth=$dbh->prepare("select b.*,a.i from students1 a,students b
where a.f=b.c and a.g=b.d");   #调用sql语句的方式进行查询,在我的数据里面是 歌曲和歌手2个字段进行的查询
$tel_sth->execute;  #执行语句
while (my @ref = $tel_sth->fetchrow_array()) {
   chomp(@ref);
my $file_data = join "\t", @ref;
print '这些数据是歌曲和歌手相同的'."$file_data\n"
}
  这样就可以很轻松的将数据进行整理了,对于有时候无法使用数据库进行处理的时候这是个不错的选择。
但是还是需要涉及到性能问题的,因为这是个模仿数据库在内存上进行的操作,在速度上面是不可能和数据库的相比,而且占用资源比较大,当你的文件很大的时候,可能根本就没有办法去运行了,因此只适合数据量比较小的来运用了,可以看自己的内存和数据等来合理运用了啊,就说到着了。


相关文档:

Oracle 学习:PL/SQL循序渐进全面学习教程

 课程十 写执行语句
  
  本课重点:
  1、了解PLSQL执行区间的重要性
  2、写执行语句
  3、描述嵌套块的规则
  4、执行且测试PLSQL块
  5、使用代码惯例
  
  注意:以下实例中标点均为英文半角
  
  一、PLSQL 块的语法规则:
  1、语句可以跨跃几行。
  2、词汇单元可以包 ......

Oracle 学习:PL/SQL循序渐进全面学习教程

课程十一 与ORACLE SERVER交互
  
  本课重点:
  1、在PLSQL中成功的写SELECT语句
  2、动态声明PLSQL变量类型与SIZE
  3、在PLSQL中写DML语句
  4、在PLSQL中控制事务
  5、确定DML操作的结果
  
  注意:以下实例中标点均为英文半角
  
  一、PLSQL中的SQL语句:
  SELECT、DML、CO ......

sql外键约束NO ACTION,CASCADE,SET NULL,SET DEFAULT

 NO ACTION
指定如果试图删除/修改某一行,而该行的键被其他表的现有行中的外键所引用,则产生错误并回滚 DELETE/UPDATE语句。
CASCADE、SET NULL 和 SET DEFAULT
允许通过删除或更新键值来影响指定具有外键关系的表,这些外键关系可追溯到在其中进行修改的表。如果为目标表也定义了级联引用操作,那么指定的级联操 ......

SQL SERVERS数据整理

          今天星期天,因数据库太慢,最后决定将数据库进行重新整理.
(假定数据库名称为:DB_ste)
1、根据现在的数据库的脚本创建一个脚本文件(FILENAME:DB_ste.sql)
2、建立新的数据库DB_ste2,若有文件组的数据库,则需要建立相同的文件组。(DB_ste_Group)
3、将数据文 ......

MS SQL Server 2008分布式查询MySQL

  近日,俺通过MS SQL Server 2008的链接服务器查询MySQL的数据。其实,俺在多年前就使用过这个,当时是分布式查询Excel表数据,现在,换成异构数据库MySQL。俺以64位系统说明:
   首先,Windows程序访问MySQL数据库需要驱动程序,可以到官方网站下载,俺就是使用Mysql ODBC 5.1 Driver for 64bit,通过数 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号