データベースでレコードを追加する時に使うSQL文を勉強してみます。

レコードの追加

INSERT INTO テーブル名(カラム名1, カラム名2, …) VALUES(値1, 値2, …);

カラムを指定しない場合はカラムの左から順番にVALUESに記入された値が適用されていきます。
実際のphpプログラムの中では、、、

$pdo = new PDO("mysql:dbname=hoge", "id", "password");//データベースにアクセス
$st = $pdo->query("INSERT INTO table_name(title,content,status) VALUES('$title','$content','2')");//ポストの中にタイトルとコンテンツとステータスカラム2を挿入する
header('Location: index.php');//header関数でLocation: URLを指定してリダイレクト
exit();//処理終了

また、SQLでは文字列をシングルクォートまたはダブルクォートで囲みます。
ウェブ上のフォームから打ち込まれた情報を、変数$title、$contentに格納するようにプログラムしてから、このプログラムによってデータベースに情報を格納します。

レコードの検索

次にレコードの検索についてみていきます。

SELECT * FROM table_name;

これはtable_nameというテーブルから全てのレコードを選んでくるという意味になります。
さらに

SELECT * FROM テーブル名 WHERE 条件式;

と条件文を指定すると、欲しいレコードを絞り込む事が出来ます。
実践的なコードとしては、

$st = $dbh->query("SELECT * FROM post where status = '2' ORDER BY no DESC");//記事番号が大きい順番、ステータスカラムが2のものを表示

というような書き方になります。

また、

SELECT name FROM table_name;

とすることで、table_nameというテーブルからnameカラムを引き出すという意味になります。

以上

最終更新:2015年10月20日 00:35