データベース(SQL)を理解する

データベースはデータの集まりと説明した事がありますが、イメージとしてはエクセルのシートの集まり(所謂エクセルのブックですね)です。

大量のデータから、指定行の指定カラムを書き換えり、指定条件の該当する行のみを抽出したりなどの命令を、高速に処理してくれるソフトウェアの事です。

WordPressで使用しているのはMariaDB(MySQL)ですが、その他にはOracle DatabaseMicrosoft SQL Server 等があります。私はあまり詳しくありませんので、専門的な媒体で勉強して下さい。

ここでは、MariaDB(MySQL)データベースとの接続の一般的な手順のみ説明します。

データベースは、SQLという構文規約に則りデータを操作します。このSQLはデータベースエンジン(Oracle DatabaseやMicrosoft SQL Server)によって多少違いがあるので、使用するデータベースエンジンのマニュアルを熟読する必要があります。
先の「プログラマーになりたい!という貴方へ」でも少し触れましたが「phpMyadmin」でやったデータベースの作成・テーブルの作成、レコードの追加・更新・削除をターミナルを使用して実践してみます。これで多少SQL文に慣れて下さい。

MySQL :: MySQL 8.0 リファレンスマニュアル :: 4.3.1 mysqld — MySQL サーバー

本格的に勉強する方は上の「MySQLコマンドリファレンス」にて勉強して下さい。

ターミナルを起動してSQLを実行してみる

XAMPPコントロールパネルを起動しMySQLが起動されていることを確認したら、タームミナルを起動します。

ターミナルからMySQLにコマンドを送りますが、XAMPPをインストールしただけではパスが通ってないと思うので、フルパスを指定してMySQLを起動します。

c:\xampp\mysql\bin\mysql mysql -u root -p 

上記コマンドをターミナルにコピペして、

Enter password:

となればOKです。XAMPPでは、rootユーザーはノンパスワードですので、何も入力せずに「Enter」キーを押下します。

MariaDB [mysql]>

となれば起動成功でです。ここからSQLコマンドを実行できます。

以下のコマンドを打ち込んでデータベース一覧を表示してみます。

show databases;

前回作ったWodpressで使用している「wordpressdb」とphpMyadminの勉強で作った「sampledb」が表示されています。
(その他のデータベースは絶対に削除しないで下さい。)

それでは前回作った「sampledb」を使用して簡単なコマンドをテストしていきます。

use sampledb;

上記コマンドが「sampledb」を使用します。

という宣言です。

続いて以下のコマンド実行します。

show tables;

前回作成した「member」というテーブルが一つ表示されました。

show full columns from member;

上記コマンドでテーブルのカラム情報が表示されます。

insert select文を実行してみる

これからこのテーブルにデータを登録・読み込み・修正・削除を行っていきます。

データ登録にはINSERTコマンドを使用します。
詳しくは別にお勉強して下さい。

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

ではサンプルデータを登録してみましょう。

INSERT INTO member (no, name, address, mail) VALUES (1, "東京太郎", "東京都目黒区1-1-1", "sample@xxx.xxx");  

「Query OK」と表示されれば、SQLコマンドは正常に実行された事になります。

では登録されているか実際に「select」コマンドで確認してみましょう。

SELECT * FROM member;

上記コマンドを入力すると先ほど登録したデータが表示されました。

それではテストの為に数件データを追加してみます。

INSERT INTO member (no, name, address, mail) VALUES
(2, "千葉太郎", "千葉県千葉市1-1-1", "sample@yyy.yyy"),
(3, "埼玉太郎", "埼玉県さいたま市1-1-1", "sample@zzz.zzz");

複数レコードを一気に登録する時は、VALUES句をカンマ区切りで複数記述します。
SQLの詳細な構文は別途勉強して下さい。

実行後SELECT文でテーブル内容を確認すると3件のレコードが確認できます。

WHERE句を使用して条件呼び出し

WHERE句とはある条件に合致するレコードのみ対象とした時に使用します。

SELECT * FROM member WHERE no=3;

上記コマンドはプライマリーキーとして定義されている”no”が3のレコードのみ表示しろという意味です。

SELECT * FROM member WHERE no<3;

不等号を使用すればこんな条件も指定できます。
詳細に関してはSQLコマンドリファレンスにて勉強して下さい。

レコードの更新・削除

where句を使用して、特定のレコードの更新・削除を実行してみます。

レコードの更新は「UPDATE」コマンドを使用します。

UPDATE member SET address="東京都江戸川区1-1-1" WHERE no = 1;

no=1のレコードの住所を”東京都江戸川区1-1-1“に書き換えるというSQL文です。

select文で実行結果を確認すると「東京都目黒区1-1-1」が「東京都江戸川区1-1-1」に更新されています。

レコードの削除にはDELETEコマンドを使用します。

DELETE FROM member WHERE no = 1;

コマンド実行後SELECT文で確認するとnoが1のレコードが削除されています。

簡単な解説となりまりましたがデータベースのアクセス方法をご紹介しました。

PHPでこのSQLを実行するにはmysqliクラスのqueryメソッドを使用します。

次回ご紹介しますので頑張って予習して下さい。

追記

データベースをクローズしてませんでした。

ターミナルから

mysql > exit

と入力するのを忘れないで下さい。

コメント

タイトルとURLをコピーしました