83.SQLを使おう ~データベースを操作する~
本日はSQLについて
データベースを操作する為の言語でしたね。
早速やっていきましょう。
データを取り出す
データベースからデータを取り出す為には、昨日学習したテーブル、カラムをSQLで指定します。
下記テーブルを例にして操作を行っていきましょう。
どこのテーブルの、どこのカラムのデータを取得するかを指定するには
SELECT カラム名 FROM テーブル名
この記述で指定します。
ですので、今回はtestテーブルのnameカラムのデータを取得したいので
SELECT name FROM test;
このように記述します。
すると出力結果として
はなこ
たろう
さんた
が取得できるわけです。
また、カラム名の代わりに「*」を使用することで、すべてのデータを指定することができます。
SELECT * FROM test;
とすると、テーブルがそのまま出力されるイメージです。
条件を指定して取り出す
指定条件に一致したデータを取得する方法があります。
WHEREキーワードをテーブルを指定した後に記述します。
SELECT カラム名 FROM test WHERE カラム名 = 値;
※(=の部分は比較演算子を使います。=、!=、<、>、<=、>=などです)
例えば、genderの値が男のデータだけを取出したい場合
SELECT * FROM test WHERE gender ='男';
これで、テーブルのすべてのデータの中のgenderカラムの値が男のデータだけを取り出せるわけです。
2,たろう,男,14
3,さんた,男,54
このようにデータが取得できます。
仮に男の名前だけを取り出したいとなった場合には
SELECT name FROM test WHERE gender ='男';
単純にカラム名にnameを指定するだけですね。
SQLは直感的でわかりやすいですね。
テーブルにデータを追加する
データを追加するにはINSERTを使います。
書き方は下記のように記述します。
INSERT INTO テーブル名 VALUES(カラムに従ったデータをカンマ区切りで記述),
なので、今回のtestテーブルに新しいデータを追加する場合は
INSERT INTO test VALUES(4,'たかひろ','男','33');
これでテーブルは
このように変化します。
テーブルのデータを変更する
テーブルのデータを変更する場合はUPDATEを使います。
書き方は下記のように記述します。
UPDATE テーブル名 SET カラム名 = '値' WHERE カラム名 比較演算子 '値';
WHEREでカラムと値で指定していますが、ここでは行を選択しているイメージですね。
そして、選択されている行のSETで指定したカラム名のデータを変更する
こんな感じです。
なので、今回のtestテーブルのたかひろの名前を変更したい場合は
UPDATE test SET name = 'ひろし' WHERE id = 4;
これで、testテーブルのカラム idの値が4番の行を選択(nameの値はたかひろ)して
カラムname の値を 'ひろし'に変更しているわけです。
この時点のテーブルは下記
このように変化しています。
テーブルのデータを削除する
削除といえば…そう!DELETEですよね。
書き方は
DELETE FROM テーブル名 WHERE カラム名 比較演算子 '値';
このように記述します。
WHEREで指定した条件に合致する行が削除されるイメージです。
なので今回のカラムnameの値が'ひろし'の行を削除したい場合は
DELETE FROM test WHERE name ='ひろし';
これでnameカラムの値が'ひろし'の行が削除されます。
このようにテーブルが変化しました。
新しいテーブルを作る
最後に新しいテーブルを作ってみます。
CREATE TABELを使います。
CREATE TABEL テーブル名(カラム名 データ型 , カラム名 データ型 … );
のように記述します。
test2テーブル、カラムはidとnameとscoreがあるテーブルを作成してみましょう。
CREATE TABEL test2(id int,name varchar(255), score int) ;
※varchar(255)は可変長文字列型だそうです。255は長さ。variant characterの略だそうな。
こんな感じのテーブルが新規作成されました。
nullは「存在しない」とか「ゼロの」という意味です。
データを入れていないので当然ですね。
復習がてらデータを2つ追加して、その後にスコアを変更するSQLを書いてみます。
INSERT INTO test2 VALUES(1,'しんじ',98);
INSERT INTO test2 VALUES(2,'まさし',53);
UPDATE test2 SET score = 31 WHERE name = 'まさし';
これがすべて実行された後のテーブルは
このような状態になっています。
SELECT name FROM test2 WHERE score = 98;
とすることで
「しんじ」が出力されますね。
大分なれた気がします。
今日のまとめ
- SELECTでカラムを指定する
- FROMでテーブルを指定する
- UPDATEでデータを更新する
- WHEREで対象を指定する
- DELETEでロウを削除する
- INSERTでロウを追加する
- CREATE TABLEでテーブルを新規作成する
明日は、一旦整理してからWordPressの学習を進めて行きたいと思います。
では、また。