【PHP講座】SQLの基礎

SQLの基礎

前回は PDOを利用したデータベース接続 について学習しました。

【PHP講座】PDOを利用したデータベース接続

2018.11.01

Python も平行してやっていて、落ち着きのない管理人ですが。

前回の記事を見直して、少し解説が雑な点があったと反省し、必要な知識をこれから少しずつ捕捉していこうと検討しています。

今回は、SQL文についてです。



SQLとは

SQL(Structured Query Language)とは、データベース言語の中で最も普及しているものです。

Webアプリケーションでデータを格納するときは、RDBMS(リレーショナルデータベースマネージメントシステム)を使います。

そして、そのときに使用する言語が SQL です。

それでは実際にどんな SQL文があるのか見ていきましょう。

DDL

SQLは、DDL(データ定義言語)という命令群があります。

プログラムの運用に入るとあまり使いませんが、アプリケーションをサーバーに仕込む段階で使うことが多いです。

CREATE

RDBMS では、テーブルをいくつかまとめてデータベースという単位で管理します。

この CREATE は、データベースやテーブルを作成するときに使います。

データベースを作成するときは下記の書式で記述します。

CREATE DATABASE データベース名

テーブルを作成するときは下記の書式で記述します。

CREATE TABLE テーブル名 (
	カラム名 型 オプション,
	カラム名 型 オプション,
	カラム名 型 オプション
)

DROP

DROP は、データベースやテーブルを削除するときに使います。

データベースを削除するときは下記の書式で記述します。

DROP DATABASE データベース名

テーブルを作成するときは下記の書式で記述します。

DROP TABLE テーブル名

DML

SQLというとこちらを指すことが多いですが、DML(データ操作言語)は、テーブル内のデータ挿入やデータの検索といった処理を表します。

これを使うときは、すでにデータベースやテーブルができあがっている必要があります。

PHPでプログラミングするときに意識するのはこのDMLがほとんどだと思います。

SELECT

SELECT は、指定したテーブルから行を抽出するときに使います。

SELECT カラム名 FROM テーブル名

INSERT

INSERT は、指定したテーブルにデータを挿入するときに使います。

INSERT INTO テーブル名 (カラム名) VALUES (値)

DELETE

DELETE は、指定したテーブルからデータを削除するときに使います。

DELETE FROM テーブル名

ただし、この場合は全ての行を指定していることになるのでテーブルが空になります。

そこで WHERE を末尾に追加して、データを絞り込みます。

UPDATE

UPDATE は、指定したテーブルのデータを更新するときに使います。

UPDATE テーブル名 SET カラム名=値

こちらも DELETE同様、このままだと全ての行をしていることになります。

やはり WHERE を末尾に追加して、データを絞りこみます。

WHEREを使ってデータを絞り込む

データを絞り込むには、WHERE を使います。

UPDATE と DELETE で軽く紹介しましたが、SELECT などでも普通に使います。

例えば、member というテーブルに id というカラムがあるとき。

id が 3 のメンバーを抽出する SQL は以下の通りです。

SELECT * FROM member WHERE id=3

最後に

いかがでしょうか。

ざっくり説明しましたが、PHPでコーディングするときによく使うのは DML の部分です。

今回の内容は本当に最低限といった内容なのですが、サンプルコードを写経するときに参考にしていただければ幸いです。

次回は、DDL(データ定義言語)を使って、実際にサーバーに仕込む段階の流れを MySQL でやっていこうと思っています。

【PHP講座】MySQL入門

2019.05.14

あと MySQL などで SQL を実行するとき、SQL文の終わりには、セミコロンをつけるので注意しましょう。