示例代码(一)

示例代码(二)

  1. #!/bin/env perl 
  2.  
  3. use strict; 
  4. use Getopt::Std; 
  5. use DBI; 
  6.  
  7. my %options; 
  8.  
  9. getopts('u:p:d:h:help',\%options); //冒号代表其后需要跟一个参数
  10.  
  11. if (scalar(keys %options) < 4) { 
  12.         printf "USAGE\n"; 
  13.         printf "\t%s -u username -p password -d database -h hostname/ip\n","$0"; 
  14.         exit 0; 
  15.  
  16. my $username = $options{u} if defined $options{u}; 
  17. my $password = $options{p} if defined $options{p}; 
  18. my $database = $options{d} if defined $options{d}; 
  19. my $hostname = $options{h} if defined $options{h}; 

  20. my $dsn = "DBI:mysql:database=$database;host=$hostname;port=3306"
  21. my $dbh = DBI->connect($dsn,"$username","$password",{PrintError=>0,RaiseError=>1}) 
  22.                or die "Can't connect to mysql" . DBI->errstr; 
  23.  
  24. my $table = qq
  25.               CREATE TABLE IF NOT EXISTS test ( 
  26.               order_id int(5) not null auto_increment, 
  27.               name varchar(10) not null default '', 
  28.               email varchar(20) not null default '', 
  29.               PRIMARY KEY (order_id)); 
  30.               /; 
  31.  
  32. my $sth = $dbh->prepare($table); 
  33.    $sth->execute(); 
  34.  
  35. my $data = qq
  36.              INSERT INTO test VALUES 
  37.              (null,'henry','henry\@abc.com'), 
  38.              (null,'tom','tom\@abc.com'), 
  39.              (null,'teddy','teddy\@abc.com'); 
  40.              /; 
  41.  
  42.     $sth = $dbh->do($data); 
  43.     my $query = qq/SELECT * FROM test/; 
  44.  
  45.    $sth = $dbh->prepare($query); 
  46.    $sth->execute(); 
  47.  
  48. while (my @array = $sth->fetchrow_array()) { 
  49.        print join "\t",@array,"\n";