SQL
「Structured Query Language」の略です。
SQLは、データベース内の情報にアクセスしたり、変更したりするために使われるクエリ言語です。Web開発者はSQLを使って、WebサイトやWebアプリケーションをデータベースに接続し、読み込むたびに最新の情報を表示できる動的Webページを作成します。SQLはデータベースへのクエリに使う標準言語で、Oracle DatabaseやMySQLなど、多くの異なるデータベース管理システムで使用されています。
WebサイトやWebアプリは、リレーショナルデータベースにクエリを実行するためにSQL文を使います。リレーショナルデータベースでは、データをテーブル、行(データベースの項目を表す)、列(それらの項目の属性を表す)に格納します。たとえば、電子商取引サイトがデータベースで在庫を管理している場合、商品をテーブルに格納し、各商品を行、価格、サイズ、色などの商品情報を列として格納します。商品のWebページを表示すると、WebサーバーはPHPなどのスクリプト言語を使って1つ以上のSQLクエリを実行し、その商品の情報を取得して、結果をHTMLページに含めます。データベース内でその商品の価格が変わると、次にそのWebページを読み込んだときに新しい情報が表示されます。
最も一般的なSQLコマンドはSELECTです。これはテーブルから情報を取得します。テーブル内のすべての情報を取得することも、特定の条件を満たすレコードだけを取得することもできます。たとえば、次のクエリは、指定された郵便番号のすべての顧客レコードを取得します。
SELECT * FROM Customers WHERE Zip='55400';
次のクエリは、特定の商品の価格を取得します。
SELECT Price FROM Products WHERE ProductID=47988;
UPDATEコマンドは、指定したテーブル、行、列に格納されている情報を変更します。INSERT INTOは新しいレコードを作成し、DELETE FROMはレコードを削除します。
NOTE: Webサイトの開発者がユーザー入力を適切に検証せず、データベースへのアクセスを制御していない場合、SQLインジェクション攻撃に対して脆弱になる可能性があります。SQLインジェクションを使うと、攻撃者は通常なら許可されない悪意のあるSQL文をデータベースに送信できます。たとえば、顧客の氏名、住所、クレジットカード番号の完全な一覧を取得できます。
知識をテストする