目标:方便自己快速查询数据库表记录;

示例:

数据库主机:127.0.0.1

数据库名称:tmp

数据库表名:tmp

表结构:

1
2
3
4
5
6
7
8
9
10
mysql> desc tmp.tmp;
+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null Key Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | int(11)      | NO   | PRI | NULL    | auto_increment |
| PhoneNum   | char(11)     | NO   | MUL | NULL    |                |
| status     | int(11)      | NO   |     | NULL    |                |
| statusDesc | varchar(255) | YES  |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+
rows in set (0.04 sec)

表数据:

1
2
3
4
5
6
7
8
9
10
mysql> select from tmp.tmp;
+----+-------------+--------+------------+
| id | PhoneNum    | status | statusDesc |
+----+-------------+--------+------------+
|  1 | 18600000000 |     10 | 北京       |
|  2 | 18600000001 |     21 | 上海       |
|  3 | 18600000002 |     10 |            |
|  4 | 18600000000 |     10 | NULL       |
+----+-------------+--------+------------+
rows in set (0.00 sec)

查询代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!D:\Perl64\bin
use DBI;
use strict;
#use warnings;
if (@ARGV != 1) {
    print "Please input a Phone Num ~ \nEg:perl sql.pl 18600000000 ~ \n";
}else {
my $tmp = {
    user => 'tmp',            
    pass => 'tmp',            
    host => '127.0.0.1',
    database => 'tmp',
    port => 3306,
};
my $Phone_num shift;
chomp $Phone_num;
##链接数据库
my $tmp_dbh=DBI->connect("DBI:mysql:$tmp->{database};host=$tmp->{host};port=$tmp->{port}",$tmp->{user},$tmp->{pass},{RaiseError=>1});
##设置数据库编码
$tmp_dbh->do ("set character_set_client = 'gb2312'");
$tmp_dbh->do ("set character_set_connection = 'gb2312'");
$tmp_dbh->do ("set character_set_results = 'gb2312'");
###查询语句
my $tmp_sql=qq{select * from tmp where phoneNum = $Phone_num ;};
my $tmp_sth=$tmp_dbh->prepare($tmp_sql) or die 'Unable to perpare our query:'.$tmp_dbh->errstr."\n";
###执行语句
my $results=$tmp_sth->execute() or die 'Unable to execute our query:'.$tmp_dbh->errstr."\n";
###如果没有结构,打印N/A
print "N/A" if $results == 0;
###将结果以hash方式引用给$reslut_ref
while (my $reslut_ref $tmp_sth->fetchrow_hashref){
    print "---------------New Line--------------\n";
    print "id        :    $reslut_ref->{id}\n";
    print "PhoneNum    :    $reslut_ref->{PhoneNum}\n";
    print "status        :    $reslut_ref->{status}\n";
    print "statusDesc    :    $reslut_ref->{statusDesc}\n";
}
#####介于statusDesc字段可能为NULL,打印时会提示该变量未初始化,这也是上面关闭warnings的原因,当然也可以局部关闭;
$tmp_sth->finish();
$tmp_dbh->disconnect();
}

执行结果;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
E:\Workspaces\MyEclipse10\PerlProject>perl sql.pl
Please input a Phone Num ~
Eg:perl sql.pl 18600000000 ~
E:\Workspaces\MyEclipse10\PerlProject>perl sql.pl 18600000000
---------------New Line--------------
id              :       1
PhoneNum        :       18600000000
status          :       10
statusDesc      :       北京
---------------New Line--------------
id              :       4
PhoneNum        :       18600000000
status          :       10
statusDesc      :
E:\Workspaces\MyEclipse10\PerlProject>

本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1600971

perl链接数据库实例相关推荐

  1. python怎么检查数据库实例能否链接_python pymysql链接数据库查询结果转为Dataframe实例...

    我就废话不多说了,大家还是直接看代码吧! import pymysql import pandas as pd def con_sql(db,sql): # 创建连接 db = pymysql.con ...

  2. 如何将链接的服务器从SQL Server“调试”到Oracle数据库实例

    介绍 (Introduction) Intended audience 目标听众 This document is intended for database administrators who w ...

  3. oracle10数据库链接失败,oracle 10g Enterprise Manager 无法连接到数据库实例分析

    1 问题描述 客户端通过IE 浏览器登陆oracle 10g em console时不能显示登陆界面,页面显示"Enterprise Manager 无法连接到数据库实例.下面列出组件状态& ...

  4. oracle10数据库链接失败,Oracle10g出现Enterprise Manager 无法连接到数据库实例解决办法...

    刚装好 10g 时,把的监听端口是1521.后来把端口改成了1568了,登上em发现Enterprise Manager 无法连接到数据库实例 ,连接字符串的端口仍是1521,如何解决这个问题. 登陆 ...

  5. AJAX(二)ResponseText、onreadystatechange 事件、readyState、status、ASP和PHP、数据库实例、XML实例

    AJAX(二)ResponseText.onreadystatechange 事件.readyState.status.ASP和PHP.数据库实例.XML实例 文章目录 AJAX(二)Response ...

  6. mysql链接数据库properties_mysql 之通过配置文件链接数据库

    mysql 之通过配置文件链接数据库 配置文件jdbc.properties ##MySQL driver=com.mysql.jdbc.Driver url=jdbc\:mysql\:///ake? ...

  7. java c3p0 连接 mysql_Java使用C3P0数据源链接数据库

    本文实例为大家分享了Java使用C3P0数据源链接数据库的具体代码,供大家参考,具体内容如下 1.相关jar包,这里需要3个jar包 2.具体链接数据库代码 ComboPooledDataSource ...

  8. 数据库实例: STOREBOOK 表空间 编辑 表空间: TEMP

    ylbtech-Oracle:数据库实例: STOREBOOK  >  表空间  >  编辑 表空间: TEMP 表空间  >  编辑 表空间: TEMP 1. 一般信息返回顶部 1 ...

  9. CentOS Linux 新建oracle数据库实例并连接

    CentOS Linux 新建oracle数据库实例 安装好oracle之后,首先想到的那就是自己建一个库来看看效果喽. 创建的过程如下文章所说,http://blog.chinaunix.net/u ...

最新文章

  1. Linux下JDK环境的配置
  2. Postman系列之@RequestBody修饰的对象传参数
  3. 【深夜思考】转行学java找不到工作
  4. Spring基于Java的JSR-250注解
  5. Cisco PT模拟实验(12) 路由器静态路由的配置
  6. DevExpress v18.1新版亮点——WinForms篇(四)
  7. 数据库---练习题(45道)
  8. 在JBoss Fuse / Fabric8 / Karaf中使用Byteman
  9. php 非常有用的高级函数PATH_SEPARATOR常量和set_include_path
  10. oracle分区表学习及应用
  11. 迷你计算机笔记本,迷你笔记本电脑我选择了它,性能不错还超轻便携
  12. 服务器主板显示B1,电脑检测卡显示b1是啥意思
  13. ajax的原理和运行机制
  14. 网管学习日记-ospf多区域
  15. 服务器2003系统序列号,Windows Server 2003 R2 With Sp2 序列号
  16. 高琪300集——入门
  17. php ean13,php生成EAN_13标准条形码实例_PHP
  18. Galahad(板子:区间不重复数字的和,树状数组/线段树)
  19. Kali Linux使用arpspoof命令进行断网攻击(ARP欺骗)
  20. 第一次CCF计算机软件能力认证

热门文章

  1. 工资才2k的员工自学Python一个月,靠着这些方法居然能日入1k,拿着离职单拍老板桌子大声说...
  2. 计算机处理器的参数及意义,电脑硬件小知识之:CPU的命名和基本参数
  3. phantomjs html2Image.js 网页转换图片
  4. pl/sql 免安装客户端月经贴一篇
  5. swagger 界面_使用Swagger和Scalatra进行界面驱动的开发简介
  6. 【数理逻辑与集合论】第一章 命题逻辑
  7. 手表在英语里watch源自wacche
  8. c#读蓝牙数据_通过蓝牙接收数据到c#程序
  9. golang如何将http请求流转到gin
  10. 双拼输入法,设计方案