データベースはデータの集まりと説明した事がありますが、イメージとしてはエクセルのシートの集まり(所謂エクセルのブックですね)です。
大量のデータから、指定行の指定カラムを書き換えり、指定条件の該当する行のみを抽出したりなどの命令を、高速に処理してくれるソフトウェアの事です。
WordPressで使用しているのはMariaDB(MySQL)ですが、その他にはOracle DatabaseやMicrosoft SQL Server 等があります。私はあまり詳しくありませんので、専門的な媒体で勉強して下さい。
ここでは、MariaDB(MySQL)データベースとの接続の一般的な手順のみ説明します。
データベースは、SQLという構文規約に則りデータを操作します。このSQLはデータベースエンジン(Oracle DatabaseやMicrosoft SQL Server)によって多少違いがあるので、使用するデータベースエンジンのマニュアルを熟読する必要があります。
先の「プログラマーになりたい!という貴方へ」でも少し触れましたが「phpMyadmin」でやったデータベースの作成・テーブルの作成、レコードの追加・更新・削除をターミナルを使用して実践してみます。これで多少SQL文に慣れて下さい。
本格的に勉強する方は上の「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
と入力するのを忘れないで下さい。
コメント