perl链接数据库实例
目标:方便自己快速查询数据库表记录;
示例:
数据库主机: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 | |
+ ------------+--------------+------+-----+---------+----------------+
4 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 |
+ ----+-------------+--------+------------+
4 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>
|
perl链接数据库实例相关推荐
- python怎么检查数据库实例能否链接_python pymysql链接数据库查询结果转为Dataframe实例...
我就废话不多说了,大家还是直接看代码吧! import pymysql import pandas as pd def con_sql(db,sql): # 创建连接 db = pymysql.con ...
- 如何将链接的服务器从SQL Server“调试”到Oracle数据库实例
介绍 (Introduction) Intended audience 目标听众 This document is intended for database administrators who w ...
- oracle10数据库链接失败,oracle 10g Enterprise Manager 无法连接到数据库实例分析
1 问题描述 客户端通过IE 浏览器登陆oracle 10g em console时不能显示登陆界面,页面显示"Enterprise Manager 无法连接到数据库实例.下面列出组件状态& ...
- oracle10数据库链接失败,Oracle10g出现Enterprise Manager 无法连接到数据库实例解决办法...
刚装好 10g 时,把的监听端口是1521.后来把端口改成了1568了,登上em发现Enterprise Manager 无法连接到数据库实例 ,连接字符串的端口仍是1521,如何解决这个问题. 登陆 ...
- AJAX(二)ResponseText、onreadystatechange 事件、readyState、status、ASP和PHP、数据库实例、XML实例
AJAX(二)ResponseText.onreadystatechange 事件.readyState.status.ASP和PHP.数据库实例.XML实例 文章目录 AJAX(二)Response ...
- mysql链接数据库properties_mysql 之通过配置文件链接数据库
mysql 之通过配置文件链接数据库 配置文件jdbc.properties ##MySQL driver=com.mysql.jdbc.Driver url=jdbc\:mysql\:///ake? ...
- java c3p0 连接 mysql_Java使用C3P0数据源链接数据库
本文实例为大家分享了Java使用C3P0数据源链接数据库的具体代码,供大家参考,具体内容如下 1.相关jar包,这里需要3个jar包 2.具体链接数据库代码 ComboPooledDataSource ...
- 数据库实例: STOREBOOK 表空间 编辑 表空间: TEMP
ylbtech-Oracle:数据库实例: STOREBOOK > 表空间 > 编辑 表空间: TEMP 表空间 > 编辑 表空间: TEMP 1. 一般信息返回顶部 1 ...
- CentOS Linux 新建oracle数据库实例并连接
CentOS Linux 新建oracle数据库实例 安装好oracle之后,首先想到的那就是自己建一个库来看看效果喽. 创建的过程如下文章所说,http://blog.chinaunix.net/u ...
最新文章
- Linux下JDK环境的配置
- Postman系列之@RequestBody修饰的对象传参数
- 【深夜思考】转行学java找不到工作
- Spring基于Java的JSR-250注解
- Cisco PT模拟实验(12) 路由器静态路由的配置
- DevExpress v18.1新版亮点——WinForms篇(四)
- 数据库---练习题(45道)
- 在JBoss Fuse / Fabric8 / Karaf中使用Byteman
- php 非常有用的高级函数PATH_SEPARATOR常量和set_include_path
- oracle分区表学习及应用
- 迷你计算机笔记本,迷你笔记本电脑我选择了它,性能不错还超轻便携
- 服务器主板显示B1,电脑检测卡显示b1是啥意思
- ajax的原理和运行机制
- 网管学习日记-ospf多区域
- 服务器2003系统序列号,Windows Server 2003 R2 With Sp2 序列号
- 高琪300集——入门
- php ean13,php生成EAN_13标准条形码实例_PHP
- Galahad(板子:区间不重复数字的和,树状数组/线段树)
- Kali Linux使用arpspoof命令进行断网攻击(ARP欺骗)
- 第一次CCF计算机软件能力认证
热门文章
- 工资才2k的员工自学Python一个月,靠着这些方法居然能日入1k,拿着离职单拍老板桌子大声说...
- 计算机处理器的参数及意义,电脑硬件小知识之:CPU的命名和基本参数
- phantomjs html2Image.js 网页转换图片
- pl/sql 免安装客户端月经贴一篇
- swagger 界面_使用Swagger和Scalatra进行界面驱动的开发简介
- 【数理逻辑与集合论】第一章 命题逻辑
- 手表在英语里watch源自wacche
- c#读蓝牙数据_通过蓝牙接收数据到c#程序
- golang如何将http请求流转到gin
- 双拼输入法,设计方案