0

0

MySQL & Perl, 便利之合_MySQL

php中文网

php中文网

发布时间:2016-06-01 14:12:34

|

1009人浏览过

|

来源于php中文网

原创

perl


  by Georges Tarbouriech
  
  What about this nice pair ?
  MySQL是一种关系型数据库系统(RDBMS),其主页为http://www.mysql.com/。它由GNU GPL发布并供免费使用,请注意阅读版权声明。 它可以在许多平台上工作,既作服务器同时又是客户端。除MySQL之外还有一些其它的自由软件性质的RDBMS,在这里不作任何比较,本文仅讨论MYSQL。我们也不将其与那些大型商业数据库像 Informix,Oracle,Sybase等作比,有足够理由相信MySQL是Internet上使用最广泛的数据库系统之一。在这篇文章里我们使用的MySQL版本是3.23.36。现在的稳定发行版本是3.23.46,而苦苦等待的4.0版仍在测试之中。人们可以从网上下载到它们的源代码或包文件。
  为了将MySQL与Perl结合使用,你还需要些东西: perl DBI模块。至少你应该下载DBI, Msql-Mysql-modules, Data-Dumper和Data-ShowTable等。
  本文不介绍它们的安装过程,因为那很简单,同时包中的说明文件已经提供了你需要知道的所有内容。
  Perl全称是实用摘录与报告语言(Practical Extraction and Report Language)。 最初它用于文件处理(分析,摘要...),很快它的功能就有了扩展。 你几乎可以用它来做任何任何事情:系统管理,CGI脚本程序以及数据库接口程序。
  Perl包含于许多(如果不能称是全部的话)Unix发行版本中,它们中有些是免费的,有些不是。本文写作时,稳定的版本是5.6.1,版本5.7.2在测试中。本文采用的是5.005_03,很不错的一个版本,尽管老点。如果你的机子还没有装Perl,你可以从http://www.perl.com/下载。Perl提供了许多模块,用它们几乎可以完成任何事,你可以从这个网站的CPAN栏目找到它们。
  最后一点,为了让这两种软件真正开始工作,你还需要一个web服务器。Apache应该是一个不错的选择,它集成于多种Unix系统中。如果你还没有,可以到http://www.apache.org/下载。
  
   
  使用的范例
  你也许已经注意到LinuxFocus杂志有多种语言的版本。这就意味着作为编辑需要同时管理新文章以及它的译文版本。一般情况下,我们可以看到大约200篇文章,平均每篇文章有5个语言的版本,这样产生了大约1000篇文章并且还在继续增长!这些文章需要被存档,格式标准化,总结及摘要.....应该怎么做这些事?当然,用Perl!
  我们的总编Guido Socher编写的许多perl程序使我们的工作变的简单了许多,他写过一本三部头的 Perl教程和一本评论Perl的书。参照本文末尾的参考文献部分。
  Javi,我们的西班牙编辑,用Perl编写了一个程序来管理翻译进度。
  Atif是我们的明星作者,他来自perl王国,所以他的母语就是Perl。 他同时也撰写关于MySQL方面文章,致力于一个WEB管理工具改进工作。同样你可以在参考文献部分找到他。
  总之,如果你在寻找一个Perl世界,加入LinuxFocus。
  我是LinuxFocus法文版的编辑之一,我更懒,于是创建了自己的LinuxFocus数据库,猜猜用什么: MySQL 和Perl!
  
   
  建立数据库
  首先你应当已经正确安装了MySQL,并配置好用户密码。关于安装并不是本文讨论的内容,MySQL自带的大量文档已经描述了所有细节。
  用mysql.server启动MySQL服务器,这个命令同时调用 safe_mysqld 守护进程,因此你可以给它传参。
  用
  
  mysql -h host -u user -p
  
  连接到服务器,如果服务器就装在你本机上,就不用加参数-h host。
  输入密码无误后,你将连接到服务器。现在可以建立自己的数据库了。
  在mysql命令提示符状态下输入
  CREATE DATABASE lf;
  
  ,这个是我们的示范数据库(lf代表LinuxFocus),你可以根据你的需要命名成别的。接下来就是给用户授权了,当然首先你要有足够的权限(你需要用有administrator权限的用户连接)。如果需要让某个用户管理数据库,通过
  GRANT ALL ON lf.* TO username;
  
  给他授权。输入
  USE lf
  
  选择刚才创建的数据库,并创建一张表。在这里我们创建的表是trissue,命令格式为:
  CREATE TABLE trissue (num INTEGER UNSIGNED, category VARCHAR(25), title VARCHAR(40), author VARCHAR(20), en VARCHAR(20), es VARCHAR(20), fr VARCHAR(20),de VARCHAR(20), nl VARCHAR(20), ru VARCHAR(20), tk VARCHAR(20), issue VARCHAR(20));
  
  通过下面的命令可以检查一下我们刚才创建的表内容是否正确
  USE lf
  SHOW TABLES;
  DESCRIBE trissue;
  
  
  下面我们需要在表中填入数据,往一张空表中导入数据的最简单的方法就是使用一个带TAB分隔符的文本文件。如果文本文件已经准备好,输入
  LOAD DATA LOCAL INFILE "maindb.txt" INTO TABLE trissue;
  
  如果你的文本文件没有问题,那么现在这张表就已经填好数据,你可以通过输入以下命令检验一下:
  SELECT * FROM trissue;
  
  这将导致显示一个很长的列表。现在,你就可以进行查询来获得任何类型的数据了。
  ok,到现在为止,我们仅仅用了MySQL,就可以做任何事情,那么,用Perl来做什么?
  
   
  Perl的工作
  Perl可以帮助我们自动进行查询,将结果显示到一个WEB浏览器上,等等。重复一遍,首先需要为Perl安装正确的模块使之能与MYSQL联合工作。
  现在我们用Perl来写一个CGI脚本。它的作用是将Perl与HTML技术结合以实现查询数据库并将结果格式化输出。
  我们用一个简单的脚本来查询某一作者的所有文章,显示文章的编号,分类,标题,不同语言版本的翻译者的姓名,发表文章的杂志期号。
  你可以将这个脚本当作一个模块使用,但是注意这个例程并不是一个非常可靠的程序。你可以从下面的链接下载到一个有详细注释的版本。=>here  
  
  
  #!/usr/bin/perl -Tw
  # First, we say this is a "Tainted" perl script.
  #
  # This is a comment
  # db consult
  #
  # We use the perl DBI module
  use DBI;
  
  # As cgi :
  use CGI qw(param());
  
  print   
  Content-type: text/html
  
  
  

LFAuthors main db

  
  


  
  
  
  

  
  # Here comes the button's title for the launching page
  
  

  

  
  下面用脚本去查询数据库。
  

phpweb1.0 美化简洁版
phpweb1.0 美化简洁版

phpweb1.0基于php+mysql+smarty开发的企业解决方案,总体感觉简洁快速,适合小型企业的建站方案,也适合初学者学习。 之前发布过phpweb1.0的原始版本,仅提供大家交流和学习,但很多的爱好者提出了一些不足和好评,本不想继续开发1.0,因为2.0已经开发完毕而且构架与1.0完全不同,但是有些使用者喜欢这种简洁和简便,应大家的要求,美化和优化了一些不足之处。后台更加简洁美观。

下载

Search by author


  
  

Author name :   type="text" size="30" name="author">  value="Search...">

  
  
  END_of_start
  
  
  if (param("author") ne '') {
  $author = param("author");
  
  $autsrch.='"';
  $autsrch.=$author;
  $autsrch.='"';
  
  # We connect to the database named lf as user doe
  
  $dbh = DBI->connect("DBI:mysql:lf","doe",'');
  
  $sth = $dbh->prepare("
  select *
  from trissue
  where
  author = $autsrch
  ");
  
  $sth->execute;
  
  接着用脚本去显示查询结果。如果我们不限制查询条件,将会显示出数据库的所有内容,如果我们提供一个作者姓名,则会显示出与该作者相关的所有文章。当你的数据库有上千条记录时,不推荐显示出所有内容!
  print   
  
  


  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  END_suite
  
  while( ($num,$category,$title,$author,$en,$es,$fr,$de,$nl,$ru,$tk,$issue) =$sth->fetchrow() ) {
  print "";
  print "";
  print "";
  print "";
  print "";
  print "
Num Category Title Author En Es Fr De Nl Ru Tk Issue
$num $category $title $author $e

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

616

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

194

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

91

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

20

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

54

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

29

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

15

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

598

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

56

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Django 教程
Django 教程

共28课时 | 4.4万人学习

ECMAScript6 / ES6---十天技能课堂
ECMAScript6 / ES6---十天技能课堂

共25课时 | 2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号