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最新,不是復制粘貼別人代碼,前幾天還在用,保證思路沒有問題。