web制作のしおり

日々の学習をアウトプットします。

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でテーブルを新規作成する

 

ようやくPHPSQLの基礎知識部分が終了です。

明日は、一旦整理してからWordPressの学習を進めて行きたいと思います。

 

では、また。