SQLを使う - 基本

SQLは何のため?

  • phpMyAdminのマウス操作だけで作ることができるSQLには限界がある
  • PHP+MySQLを使ったWebシステムを構築するには、SQLの知識が必須

phpMyAdminを利用する

データを取得して表示する

localhostでデータベース一覧を表示する
SHOW DATABASES;


データベースのテーブルを一覧で表示する
SHOW TABLES;


テーブルの内容をすべて表示する
  • 「mydb」を選択する
  • SQL」タブを選択する


  • 以下のように入力し、実行する
SELECT * FROM items;


データをSQL文で挿入する

INSERT INTO items SET ID=100, name='商品100';



phpMyAdminが作成するSQL文を確認する
  • データベースは、データの挿入や表示、その他の変更や削除、テーブルの作成やデータベーススペースにいたるまで、すべてをSQLで操作する必要があります
  • SQL文そのものを記述するのではなくマウス操作で利用可能なのは、phpMyAdminが実行を代行してくれているからです
  1. 画面左側のテーブル一覧から「items」を選択する
  2. 画面上部のタブで「表示」を選択する



テーブルを作るSQL:CREATE

CREATE文
  • テーブルを作成するには「CREATE TABLE」構文を使います
  • テーブル名に続いてそのテーブルに準備するフィールドとその型を指定していきます


CREATE TABLE テーブル名(フィールド1 型, フィールド2 型・・・)

CREATE TABLE my_items (id INT, item_name TEXT, price INT);


  • 実行すると以下のようになります


データを挿入するSQL:INSERT

INSERT文
  • 作ったテーブルにデータを挿入するには「INSERT」構文を使います
  • ここでは「SET」を使った書式を使用します


INSERT テーブル名 SET フィールド名1=値, フィールド名2=値・・・;


INSERT テーブル名(フィールド名1, フィールド名2・・・)VALUES(値1, 値2・・・);

INSERT INTO my_items SET id=1, item_name='いちご', price=200;


  • 実行すると以下のようになります


データを更新するSQL:UPDATE

UPDATE文
  • 条件文を使います
  • ここでは最も簡単な条件文を使用します


UPDATE テーブル名 SET フィールド名1=値, フィールド名2=値・・・ WHERE 条件文;

UPDATE my_items SET price=180 WHERE id=1;


  • 実行すると以下のようになります


データを削除するSQL:DELETE

DELETE文
  • 挿入したデータが不要になった場合には削除することができます
  • 削除には「DELETE」を使います


DELETE FROM テーブル名 WHERE 条件文

DELETE FROM my_items WHERE id=1;



データを検索するSQL:SELECT

SELECT文
  • 検索には「SELECT」を使います


SELECT フィールド名1, フィールド名2・・・FROM テーブル名 WHERE 条件文;

SELECT id, item_name FROM my_items WHERE id=1;



  • 実行すると以下のようになります

プライマリーキー:DBで一番大切なキー

キーを設定
  • プライマリーキー(Primary key):主キー
テーブルのデーターを「空にする」
  • テーブルをきれいにするためにいったん「空にする」ボタンをクリックして、テーブルを空にしておきます

主キーを追加する
  • 「id」フィールドの右端にある「鍵マーク」をクリックする


キーの重複はNG

INSERT INTO my_items SET id=1, item_name='いちご', price=180;


続けて、次の実行をします。

INSERT INTO my_items SET id=1, item_name='りんご', price=90;

  • エラーになりデータは挿入されません


これは、「idフィールドが1のデータと重複(Duplecate)しています」という意味です。
プライマリーキーを設定すれば、このような重複チェックを自動的に行ってくれます。

キーには必ず値を入れる
  • 「idフィールド」は、削除したのちも既に利用した「数値」が再利用されることはありません
  • 「空」であることも許可しません


次のSQLを実行します

INSERT INTO my_items SET id=NULL, item_name='りんご';
  • エラーになりデータは挿入されません


「NULL(ヌル)」というのは、コンピュータ用語では「何もない」といった意味で、元はラテン語のです。(ドイツ語では、数字の0をnullと言います)

オートインクリメント(Auto Increment)

  • 自動採番
  • テーブル「my_items」をクリックし、「構造」タブをクリックし、idフィールドの「変更」をクリックする

  • エラーになる場合は「デフォルト値」をなしにして実行します