MySQL リファレンス【DBI】

広告

広告

connect

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#connect

connect($data_source, $username, $password)

データベースサーバへの接続を確立する。 ユーザ名またはパスワード、あるいはその両方が未定義の場合、DBI はそれぞれ DBI_USER および DBI_PASS の各環境変数の値を使用する。 ホスト名を指定しない場合、「localhost」 が使用される。 ポート番号を指定しない場合、デフォルトの MySQL ポート(3306)が使用される。

$dbh = DBI->connect("DBI:mysql:$database", $user, $password);
$dbh = DBI->connect("DBI:mysql:$database:$hostname",
                    $user, $password);
$dbh = DBI->connect("DBI:mysql:$database:$hostname:$port",
                    $user, $password);

disconnect

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#disconnect

データベースサーバへの接続を切断する

$rc = $dbh->disconnect;

prepare

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#prepare

prepare($statement)

SQL ステートメントをデータベースで実行できるようにプリコンパイルし、ステートメントハンドル ($sth) を返す。 ステートメントハンドルを使用して execute メソッドを呼び出すことができる。 通常、prepare および execute を使用して SELECT ステートメント(および SHOW、DESCRIBE、EXPLAIN などの SELECT ライクなステートメント)を処理する。

$sth = $dbh->prepare($statement)
    or die "Can't prepare $statement: $dbh->errstr\n";

execute

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#execute

プリペアドステートメントを実行する。 非 SELECT ステートメントの場合、execute は影響を受けたレコードの数を返す。 影響を受けたレコードがない場合、execute は "0E0" を返す。 Perl はこの戻り値を 0 として処理するが、true とみなす。 エラーが発生した場合、execute は undef を返す。 SELECT ステートメントの場合、execute はデータベースで SQL クエリを起動するだけであり、 データを取得するには、後述する fetch_* メソッドの中の 1 つを使用する必要がある。

$rv = $sth->execute
          or die "can't execute the query: " . $sth->errstr;

do

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#do

do($statement)

SQL ステートメントをプリコンパイルおよび実行し、影響を受けたレコード数を返す。 影響を受けたレコードがない場合、do は "0E0" を返す。 Perl はこの戻り値を 0 として処理するが、true とみなす。 このメソッドは通常、あらかじめプリコンパイルできない(ドライバの制約により)、 または複数回実行する必要がない(挿入、削除など)非 SELECT ステートメントで使用する。 一般に、「do」ステートメントはパラメータを使用しないステートメントをプリコンパイルして実行するよりも、非常に高速である(使用することが推奨される)。

$rv = $dbh->do($statement)
        or die "Can't execute $statement: $dbh- >errstr\n";

quote

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#quote

quote($string)

文字列に含まれる特殊文字をエスケープして、引用符で囲むために使用する。

$sql = $dbh->quote($string)

fetchrow_array

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#fetchrow_array

次のレコードのデータを取得し、フィールド値の配列として返す。

while(@row = $sth->fetchrow_array) {
        print qw($row[0]\t$row[1]\t$row[2]\n);
}

fetchrow_arrayref

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#fetchrow_arrayref

次のレコードのデータを取得し、フィールド値の配列として返す。

while($row_ref = $sth->fetchrow_arrayref) {
        print qw($row_ref->[0]\t$row_ref->[1]\t$row_ref->[2]\n);
}

fetchrow_hashref

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#fetchrow_hashref

レコードデータを取得し、フィールド名と値の組み合わせを含むハッシュテーブルへの参照を返す。 これは前述の配列参照を使用する場合ほど効率的ではない。

while($hash_ref = $sth->fetchrow_hashref) {
        print qw($hash_ref->{firstname}\t$hash_ref->{lastname}\t\
                $hash_ref->{title}\n);
}

fetchall_arrayref

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#fetchall_arrayref

SQL ステートメントが返すすべてのデータ(レコード)を取得するために使用する。 このメソッドは、「各レコードに対応する配列への参照」の配列への参照を返す。 データにアクセスしたり、出力するには、ネストされたループを使用する。

my $table = $sth->fetchall_arrayref
                or die "$sth->errstr\n";
my($i, $j);
for $i ( 0 .. $#{$table} ) {
        for $j ( 0 .. $#{$table->[$i]} ) {
                print "$table->[$i][$j]\t";
        }
        print "\n";
}

finish

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#finish

このステートメントハンドルを使用してこれ以上データを取得しないことを示す。 このメソッドを呼び出すことによって、ステートメントハンドルおよびそれに関連付けられたシステムリソースがすべて解放される。

$rc = $sth->finish;

rows

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#rows

最後に実行されたコマンドによって影響を受けた(更新された、削除された、など)レコードの数を返す。 通常、非 SELECT execute ステートメントの後に使用される。

$rv = $sth->rows;

data_sources

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#data_sources

data_sources($driver_name)

「localhost」上で動作する MySQL サーバに対して使用できるデータベース名を含む配列を返す。

@dbs = DBI->data_sources("mysql");

ChopBlanks

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#ChopBlanks

fetchrow_* メソッドが、返された値の先頭および末尾の空白を切り取るかどうかを決定する。

$sth->{'ChopBlanks'} =1;

NUM_OF_PARAMS

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#NUM_OF_PARAMS

プリペアドステートメントのプレースホルダの数

NULLABLE

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#NULLABLE

カラムに NULL 値を格納できるかどうかを示す値の配列への参照を返す。 各配列要素に格納できる値は、カラムに NULL 値を格納できない場合は 0 または空文字列、格納できる場合は 1、カラムの NULL ステータスが不明な場合は 2 である。

$null_possible = $sth->{NULLABLE};

trace

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#trace

trace($trace_level)

trace($trace_level, $trace_filename)

トレースを有効または無効にする。 DBI クラスメソッドとして呼び出された場合は、すべてのハンドルのトレースを有効または無効にする。 データベースまたはステートメントハンドルのメソッドとして呼び出された場合は、 指定されたハンドル(およびそのハンドルから今後派生する子)のトレースを有効または無効にする。 $trace_level を 2 に設定すると、詳細なトレース情報が出力される。 $trace_level を 0 に設定すると、トレースが無効になる。 トレース情報は、デフォルトでは標準エラー出力に出力される。 $trace_filename が指定された場合、そのファイルが追加モードで開かれ、トレースが有効なすべてのハンドルのトレース情報がそのファイルに出力される。

DBI->trace(2);                # trace everything
DBI->trace(2,"/tmp/dbi.out"); # trace everything to
                              # /tmp/dbi.out
$dth->trace(2);               # trace this database handle
$sth->trace(2);               # trace this statement handle

mysql_insertid

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#mysql_insertid

MySQL の AUTO_INCREMENT 機能を使用する場合、最新の値がここに格納される。

$new_id = $sth->{mysql_insertid};

is_blob

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#is_blob

ブール値の配列への参照を返す。配列の要素が TRUE の場合、対応するカラムが BLOB 型であることを示す。

$keys = $sth->{is_blob};

is_key

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#is_key

ブール値の配列への参照を返す。配列の要素が TRUE の場合、対応するカラムがキーであることを示す。

$keys = $sth->{is_key};

is_num

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#is_num

ブール値の配列への参照を返す。配列の要素が TRUE の場合、対応するカラムに数値が格納されることを示す。

$nums = $sth->{is_num};

is_pri_key

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#is_pri_key

ブール値の配列への参照を返す。配列の要素が TRUE の場合、対応するカラムが主キーであることを示す。

$pri_keys = $sth->{is_pri_key};

is_not_null

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#is_not_null

ブール値の配列への参照を返す。配列の要素が FALSE の場合、対応するカラムに NULL 値を格納できることを示す。 is_not_null は廃止されており、DBI 標準の NULLABLE 属性(前述)を使用することが推奨される。(NULLABLE を参照)

$not_nulls = $sth->{is_not_null};

length

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#length

拡大可能な最大カラムサイズを示す

$lengths = $sth->{length};

max_length

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#max_length

結果セットに実際に存在する最大のカラムサイズを示す

$max_lengths = $sth->{max_length};

NAME

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#NAME

カラム名を示す

$names = $sth->{NAME};

NUM_OF_FIELDS

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#NUM_OF_FIELDS

SELECT ステートメントまたは SHOW FIELDS ステートメントが返したフィールドの数を示す。 これを使用して、結果セットを返すステートメントが実行されたかどうかを調べることができる。 値が 0 の場合は、INSERT、DELETE、または UPDATE などの非 SELECT ステートメントが実行されたことを示す。

$nr_of_fields = $sth->{NUM_OF_FIELDS};

table

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#table

結果セットのテーブル名を示す

$tables = $sth->{table};

type

最終更新
2004-09-06T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/software/mysql_dbi.html#type

すべてのカラムの型を示す

$types = $sth->{type};

広告

Copyright (C) 2004 七鍵 key@do.ai 初版:2004年9月6日 最終更新:2004年9月6日