perlsql
你需要有数据库的用户名和密码
use DBI;
$DSN = 'driver={SQL Server};Server=数据库名; Database=表名;UID=用户名;PWD=密码;';
$dbh = DBI->connect("dbi:ODBC:$DSN",{'RaiseError' => 1,AutoCommit => 0});
$SQL = "SQL语句";
$Select = $dbh -> prepare($SQL);
$Select -> execute();
($cust_code) = $Select->fetchrow_array;
2. 用perl写sql的模糊匹配 谁知道要怎么写,sql的模糊匹配是like '%xxoo%',这句语
if(substr('xxoo',$var)>0)
或者
if($var=~/xxoo/)
3. perl进行Sql操作时接where条件出错的问题
一般在使用perl操作数据库的时候,sql语句可以单独设成字符串变量
my $sql = qq{select a from tt where b < 10};
然后在执行
my $get_info = $Oracle->prepare($sql);
$get_info->execute;
这样的话就不会有什么问题了
4. 怎样让perl脚本中执行sql语句
首先得确保安装了数据库接口模块和相应数据库的驱动模块,如果是用MySql数据库(开源免费新手入门学习都喜欢),则需要确定DBI和DBD::mysql这两个模块是否安装;
然后在perl脚本中写:
!#usr/bin/perl -w
use strict;
use DBI; #使用DBI模块,DBD::mysql是驱动不必在脚本中使用,安装了就行
my $dbname = ""; #引号里填上数据库名
my $ip = ""; #引号里填上要访问的数据库的ip地址,数据库是本机就写127.0.0.1
my $port = ""; #引号里填上要访问的数据库的端口号,mysql默认端口号是3306
my $host = "dbi:mysql:" . $dbname . ":" . $ip . ":" . $port ;
my $user = "root"; #访问数据库使用的用户名
my $password = "xXxX"; #该用户名所使用的密码
my $dbh = DBI -> connect($host,$user,$password) or die "$@"; #与数据库建立连接
$dbh -> do("set names \'gbk\';"); #设置输出中文不乱码
while(1) #条件永远为真,除非人为终止,否则不会停止
{ #可以使用control+c停止脚本执行
my $sql = ""; #引号里填上sql语句
$sth = $dbh -> prepare($sql); #送入数据库做准备
$sth -> execute(); #执行这条sql语句
sleep(300); #设置300秒暂停执行,300秒后继续执行while
}
$dbh -> disconnect(); #断开与数据库的连接
这里使用的是最新的perl和最新的mysql最新,不是复制粘贴别人代码,前几天还在用,保证思路没有问题。