広告
広告
https://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);
https://www.7key.jp/software/mysql_dbi.html#disconnect
データベースサーバへの接続を切断する
$rc = $dbh->disconnect;
https://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";
https://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;
https://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";
https://www.7key.jp/software/mysql_dbi.html#quote
quote($string)
文字列に含まれる特殊文字をエスケープして、引用符で囲むために使用する。
$sql = $dbh->quote($string)
https://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); }
https://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); }
https://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); }
https://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"; }
https://www.7key.jp/software/mysql_dbi.html#finish
このステートメントハンドルを使用してこれ以上データを取得しないことを示す。 このメソッドを呼び出すことによって、ステートメントハンドルおよびそれに関連付けられたシステムリソースがすべて解放される。
$rc = $sth->finish;
https://www.7key.jp/software/mysql_dbi.html#rows
最後に実行されたコマンドによって影響を受けた(更新された、削除された、など)レコードの数を返す。 通常、非 SELECT execute ステートメントの後に使用される。
$rv = $sth->rows;
https://www.7key.jp/software/mysql_dbi.html#data_sources
data_sources($driver_name)
「localhost」上で動作する MySQL サーバに対して使用できるデータベース名を含む配列を返す。
@dbs = DBI->data_sources("mysql");
https://www.7key.jp/software/mysql_dbi.html#ChopBlanks
fetchrow_* メソッドが、返された値の先頭および末尾の空白を切り取るかどうかを決定する。
$sth->{'ChopBlanks'} =1;
https://www.7key.jp/software/mysql_dbi.html#NUM_OF_PARAMS
プリペアドステートメントのプレースホルダの数
https://www.7key.jp/software/mysql_dbi.html#NULLABLE
カラムに NULL 値を格納できるかどうかを示す値の配列への参照を返す。 各配列要素に格納できる値は、カラムに NULL 値を格納できない場合は 0 または空文字列、格納できる場合は 1、カラムの NULL ステータスが不明な場合は 2 である。
$null_possible = $sth->{NULLABLE};
https://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
https://www.7key.jp/software/mysql_dbi.html#mysql_insertid
MySQL の AUTO_INCREMENT 機能を使用する場合、最新の値がここに格納される。
$new_id = $sth->{mysql_insertid};
https://www.7key.jp/software/mysql_dbi.html#is_blob
ブール値の配列への参照を返す。配列の要素が TRUE の場合、対応するカラムが BLOB 型であることを示す。
$keys = $sth->{is_blob};
https://www.7key.jp/software/mysql_dbi.html#is_key
ブール値の配列への参照を返す。配列の要素が TRUE の場合、対応するカラムがキーであることを示す。
$keys = $sth->{is_key};
https://www.7key.jp/software/mysql_dbi.html#is_num
ブール値の配列への参照を返す。配列の要素が TRUE の場合、対応するカラムに数値が格納されることを示す。
$nums = $sth->{is_num};
https://www.7key.jp/software/mysql_dbi.html#is_pri_key
ブール値の配列への参照を返す。配列の要素が TRUE の場合、対応するカラムが主キーであることを示す。
$pri_keys = $sth->{is_pri_key};
https://www.7key.jp/software/mysql_dbi.html#is_not_null
ブール値の配列への参照を返す。配列の要素が FALSE の場合、対応するカラムに NULL 値を格納できることを示す。 is_not_null は廃止されており、DBI 標準の NULLABLE 属性(前述)を使用することが推奨される。(NULLABLE を参照)
$not_nulls = $sth->{is_not_null};
https://www.7key.jp/software/mysql_dbi.html#length
拡大可能な最大カラムサイズを示す
$lengths = $sth->{length};
https://www.7key.jp/software/mysql_dbi.html#max_length
結果セットに実際に存在する最大のカラムサイズを示す
$max_lengths = $sth->{max_length};
https://www.7key.jp/software/mysql_dbi.html#NAME
カラム名を示す
$names = $sth->{NAME};
https://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};
https://www.7key.jp/software/mysql_dbi.html#table
結果セットのテーブル名を示す
$tables = $sth->{table};
https://www.7key.jp/software/mysql_dbi.html#type
すべてのカラムの型を示す
$types = $sth->{type};
広告