私のパソコン雑記帖

トップページに戻る 

SQL構文覚書き

カテゴリー: PHP
01Feb2010

手元に PHP や SQL の文法や書式を簡便に参照できるものがあると便利です。ウェブサイトにもその類は色々ありますが、なかでも PHPプログラミング言語資料 は重宝しています。
ただし INSERT構文/UPDATE構文/DELETE構文で、データベース名/テーブル名/要素を文字列で指定する場合と変数で指定する場合があり、それぞれ裸で使うか、ダブルコーテーションで括るか、シングルコーテーションで括るか、等をいつも正確に覚えているとは限りません。この覚書きはその為の控えです。


実行構文の基本形

Insert

INSERT ... VALUES構文

レコードを挿入するための基本的な構文は次の通り:
INSERT INTO テーブル名 (フィールド名,フィールド名, ,フィールド名) VALUES('値','値', ,'値');
テーブル名の後に、値を設定するフィールド名を順番に記述します。フィールド名は裸すなわちコーテーション無しでコンマ切り。全ての列にデータを入力する場合、
ここのフィールド名は省略しても構いません。VALUESキーワードの後に、登録したい値を記述します。値は変数の場合も含めてシングルコーテーションで囲みコンマ切り。
テーブル名の後で指定したフィール名の順番に対応するように記述する必要があります。

INSERT ... SET構文

レコードを挿入するための基本的な構文は次の通り:
INSERT INTO テーブル名 SET フィールド名='値', フィールド名='値', ...;
SETはフィールド名と値のペアを列挙します。


Update

UPDATE構文

UPDATE テーブル名
SET フィールド名=値, [フィールド名=値, ...]
[WHERE 条件式]


実例

$field フィールド名の配列
$data 登録するデータの配列

//update 構文
$sql="update $tN set $field[0]=$data[0]";
for($i=1;$i<count($data);$i++){
$sql.=",$field[$i]='$data[$i]'";
}
$sql.=" where $field[x]='$data[x]'";
$rs=mysql_db_query($dbName,$sql);
if (!$rs) {
print "データベース update エラー";
exit;
}else{print "データベースの変更完了";}
}

//insert set 構文
$sql="insert $tN set $field[0]=$data[0]";
for($i=1;$i<count($data);$i++){
$sql.=",$field[$i]='$data[$i]'";
}

//insert values 構文
$sql="insert $tN values('','$data[0]'";
for($i=1;$i<count($data);$i++){
$sql.=",'$data[$i]'";
}
$sql.=",'','','','','')"; //もし field が足りない場合

$rs=mysql_db_query($dbName,$sql);
if (!$rs) {
print "データベース insert エラー";
}else{print "データベースへの保存完了。";}
}


特記事項

primary index は update の対象にしてはならない。エラーになる。 insert の場合はブランク値を入れても構わない。

フィールド名の配列を作成する簡便法・・・phpMyAdmin の構造画面をコピー、メモ帳にペースト。このファイルを読込む。



コメント