OracleやMicrosoftなど様々な会社がデータベース管理システム(DBMS)を提供しています。その中で最も利用されているのが、表形式をベースとしたリレーショナルデータベース(RDB)です。
SQLは、リレーショナルデータベースの個々の仕様に依存しない階層化されたデータベース操作言語です。一つの2次元の表がテーブル、その列がフィールドで一連のデータを収容します。phpで良く使うMySQL文例をここにメモします。
基本構文は、mysql_query()です。SQLを実行して得た結果配列$rstを順にwhile文で読み出します。ここでテーブルtableのレコードは4つのフィールド(f0,f1,f2,f3)を持つ例を示します:
??? $sql = “SELECT * FROM table”;
??? if (!$rst = mysql_query($sql)) {
????? ここにエラー時の処理;
??? }
??? while ($col = mysql_fetch_array($rst)) {
????? ここに読み出し結果配列を用いたレコードの処理;
??? }
1)テーブルのレコードを読み出す
??? $sql = “SELECT * FROM table”;
#ここで、*:はレコードのデータ全体
#レコードの部分の場合は f1, f3 などフィルド名を並べて指定
#フィールドf1の大小の順に並べる場合は
??? $sql = “SELECT * FROM table ORDER BY f1 DESC”;
2)テーブルへのレコード追加
??? $sql = “INSERT INTO table VALUES (‘$d[0]’, ‘$d[1]’, ‘$d[2]’, ‘$d[3]’);
#変数を囲う「’」に注意
#一部のフィルドのみに追加する場合
?? $sql = “INSERT INTO table (f1,f3) VALUES (‘$d[1]’, ‘$d[3]’);
3)テーブルの全レコード削除
??? $sql = “DELETE FROM table”;