Perl For UNIX/Linux
 
TryThe Homepage
߂ĂCGI
CGI
_Ci~bNCGI
_E[h
T[rX
T[o\z(Windows)
f[^x[XANZX
LT[rX
FAQ
₢킹
̃y[W
MySQL(UNIX/Linux)
  MySQL ̃CXg[
݂ł͂قƂǂLinuxfBXgr[VŕWɂȂĂ܂B
TurboLinux Serverł͎IɃCXg[ARedhat8ȍ~ł̓CXg[ IvVI邾ŃCXg[܂B ȊÓAUNIXŃCXg[ĂȂꍇ́A {~[TCg ɏڂCXg[@܂BQlɂăCXg[ĂB
ŐVł̃_E[h́A http://dev.mysql.com/downloads/ ̃~[TCgɂȂ܂B
yX֔ԍTvz
Z
̗ł́A7̗X֔ԍw肵122,000̒Z0.37bŌĂ܂B
SvȂDBMł0.78błȂp͈͂łAB(5w)ł͈|IMySQLłB
C^[lbgł͒ʐMԂKvł̂Ŏۂ̑xƈقȂ܂B
{GẂuT[rXvŗp@ЉĂ܂B(񖳗)
  PerlW[ DBIADBD̃CXg[
  • {R[i[(UNIX/Linux)łPerlW[̃CXg[́AׂWebminsOƂĂ܂B WebminCXg[ĂȂꍇQƂB Webmiñc[o[ȗvAuPerlW[vI܂B

    ɃCXg[ς݂̃W[̈ꗗ\܂̂ŁA ̒ɁADBIADBD݂Ȃꍇ̓CXg[KvłB

  • ̃y[W̍ʼnɂtH[uCPAN疼OtveLXg{bNX[DBI]Ɠ͂A[CXg[]{^܂B IɃ_E[hJnAŐVł̃o[W񂪕\܂̂ŁA [CXg[s]{^ăCXg[ĂB ꂾŃCXg[͊łB
  f[^x[X̊Ǘ
  • WebminCXg[Ă΁AVf[^x[X̍쐬e[u̍쐬Af[^̒lj܂ ׂWebminōs܂B
    Webminc[o[́uT[ovuMySQLf[^x[XT[ovI܂B
    MySQLT[őNƒ~ōs܂̂ŁANĂȂꍇ́A [MySQLT[o[N]{^ċNĂB

    ɋNΌ݂̃f[^x[Xꗗ\܂B
    ftHgł́AMySQLgǗf[^x[XumysqlvƁutestv쐬Ă܂B
    ł́Aȉ̃TvŎgpf[^x[Xuzipv쐬Ă݂܂傤B

  • uVKf[^x[X쐬v܂B

    f[^x[XɗX֔ԍǗ܂̂[zip]Ǝw肵A[쐬]{^܂B

  • f[^x[X쐬΃e[u쐬܂̂ŁA 쐬ꂽuzipvf[^x[XNbNA[VK̃e[u쐬]{^܂B ̃{^̉EɗL鐔l͍쐬e[ũtB[h\Ă܂B ̗ł̓ftHǵuSvŌ\łB
    e[uɂ́uiptablevƖtAetB[h͈ȉ̂悤ɐݒ肵ĂB
    tB[h f[^̎ ނ̕ Primary Key? CNg l
    id mediumint ͂ ͂ ӃL[
    code varchar 7 VX֔ԍ
    pre smallint ԍ
    citys text s撬n
    [쐬]{^ƃe[u쐬܂B

  • ̓[VVbvwKׁAPƒe[u쐬܂B
    tB[hɂQw肵āA[VK̃e[u쐬]{^ĂB
    e[uupretablevɂAȉ̐ݒœs{e[u쐬܂B
    tB[h f[^̎ ނ̕ Primary Key? CNg l
    pre smallint ͂ ͂ ԍ
    name varchar 20 s{
    X֔ԍpe[uɂ͓s{ԍo^Ă܂񂪁A ̃e[uƃ[V鎖ŁAs{\ł܂B
  MySQLւ̃ANZX
  • ł͎ۂPerlMySQLɃANZXĂ݂܂傤B
    #!/usr/local/bin/perl
    # DBIW[Ǎ
    use DBI;
    # f[^x[Xݒ
    $database = "zip";
    # zXgݒ
    $hostname ="localhost";
    # [Uݒ
    $user = "root"; # f[^x[XɃpX[hݒ肵ĂΎw
    $password = "********";
    print "Content-type: text/html\n\n";
    print "<html>"
    print "<body>"

    # f[^x[X̃IuWFNg쐬Đڑ
    $dsn="DBI:mysql:database=$database:host=$hostname";
    $dbh = DBI->connect($dsn,$user,$password);

    # mX֔ԍɎ擾
    # 擾e[uɃ[Vœs{ljĂ
    $rs = $dbh->prepare("SELECT iptable.*,pretable.name FROM iptable LEFT JOIN pretable ON iptable.pre=pretable.pre WHERE iptable.pre = 39 ORDER BY iptable.code;");
    $rs->execute();
    # 擾R[hZbg̐[vĕ\
    while(@FIELD = $sql->fetchrow()) {
      print "$FIELD[1] $FIELD[4]$FIELD[3]<br>\n";
    }
    # R[hZbg‚
    $rs->Close();
    # f[^x[X‚
    $dbh->Close();
    print "</body></html>";
    exit;
    ł́ASELECTĂ݂܂傤B
    SELECT iptable.*,pretable.name ́Ae[uuiptablevׂ̂ẴtB[hƁA e[uupretablev́unamevtB[h擾ȂƌƂŁA
    FROM iptable LEFT JOIN pretable ON iptable.pre=pretable.pre ́AiptablepretB[hpretablepretB[ḧv镨iptableɒljƌƂɂȂ܂B ̎ŁAiptable̓s{ԍpretable̓s{ɕϊꃌR[hZbgɒlĵłB
    WHERE iptable.pre = 39 ́Aiptable̓s{ԍ39(m)𒊏o
    ORDER BY iptable.code ́AX֔ԍɕёւƌƂɂȂ܂B

    ̗ŎgpX֔ԍf[^x[X(122,000)MySQLŒôɂ킸0.31b܂B f[^eLXgx[XŒogrep֐gpĂ3bA[vg10bȏKvłB TurboLinuxT[ȏ͈OPentiumU450MHz ł猈đ}V[ł͂܂B WebŎgp΂ꂾ̍͏oȂɂĂMySQL̈|Iȃp[͊ԈႢ܂B
Copyright 2004 Terra. All rights reserved. No reproduction or republication without written