・SQLとは
SQLとは、データベースの定義(設定)や操作を行うデータベース言語。プログラミング言語ではなく、SQLだけではシステム開発をすることはできない。・DDL・DMLとは
DDLとはData Definition Languageの略で、データ定義言語である。一言で言うとテーブルやレコードなどを大きく追加・変更するものである。代表例として`CREATE` `DROP` `ALTER` `TRUNCATE`の4つがある。
DDL | 説明 |
---|---|
CREATE | 新しいテーブル・ビューなどを作成 |
DROP | テーブル・ビューなどを削除 |
ALTER | テーブル・ビューの内容を変更 |
TRUNCATE | テーブルの内容を削除 |
DMLとはData Manipulation Languageの略で、データ操作言語である。一言で言うとテーブルのレコードの追加・変更するものである。
代表例として<b>SELECT</b>
<b>INSERT</b>
<b>UPDATE</b>
<b>DELETE</b>
が挙げられる
DML | 説明 |
---|---|
SELECT | レコードの内容を取り出す |
INSERT | レコードを追加する |
UPDATE | レコードの内容更新 |
DELETE | レコード削除 |
・DDLの使い方
`CREATE`ではデータベース、ユーザー、テーブル、インデックス、ビュー、トリガーの作成をすることができる。今回はテーブル作成を紹介する。インデックスとは、データに索引を付けること。主キー以外のレコードで検索する際の処理時間を短縮させることができる。
ビューとは、仮想的なテーブルのこと。他のテーブルからレコードを引用して、欲しい情報だけのテーブルを作ることができる。
トリガーとは、何かのレコードを変更した際、別のテーブルのレコードも変更するように、指定した捜査があった場合に実行するSQL文のこと。
DDL文 | 説明 |
---|---|
CREATE TABLE "テーブル名" | テーブルを作成することができる。 |
CREATE TABLE IF NOT EXISTS "テーブル名" | そのテーブル名のテーブル名がないときだけテーブルを作成する |
DROP TABLE (IF EXISTS) "テーブル名" | テーブルを削除することができる |
ALTER TABLE "現在のテーブル名" RENAME TO "変更したい名前" | テーブル名を変更できる |
ALTER TABLE "テーブル名" RENAME COLUMN NAME TO "変更したい名前" | カラム名を変更できる |
ALTER TABLE "テーブル名" CHANGE "現在のカラム名" "変更後のカラム名" "現在の型" "変更後の型" | カラム名と型(intなど)を変更することができる |
ALTER TABLE "テーブル名" MODIFY "カラム名" "変更したい内容" | カラムの定義を変更することができる、VARCHAR(10)をVARCHAR(20)に変更したり |
ALTER TABLE "テーブル名" ADD "カラム名" 'データ定義' | カラムを追加することができる。データ定義にはVARCHAR(20)などを入れる |
ALTER TABLE "テーブル名" DROP "カラム名" | カラム名を削除する |
TRUNCATE TABLE "テーブル名" | テーブルの全データを削除する(AUTO_INCREMENTも初期化) |
・DML
DML文 | 説明 |
---|---|
SELECT "カラム名(*にすると全選択)" FROM "テーブル名" | テーブルのデータを取り出すことができる |
SELECT "カラム名" AS "別名のカラム名" FROM "テーブル名" | カラムに別名を付ける |
SELECT "カラム名" FROM "テーブル名" WHERE "カラム名" = '値' | 値に当てはまるカラムを取り出す |
SELECT "カラム名" FROM "テーブル名" WHERE "カラム名" BETWEEN '数字A' AND '数字B' | 数字Aよりも大きく数字Bより小さいカラムの取り出し、アルファベットでも可 |
SELECT "カラム名" FROM "テーブル名" WHERE "カラム名" IN ('値A', '値B'...) | 値に当てはまるカラムの取り出し |
SELECT "カラム名" FROM "テーブル名" WHERE "カラム名" LIKE '値%' | 値で始まるカラムの取り出し |
SELECT "カラム名" FROM "テーブル名" WHERE "カラム名" LIKE '%値%値' | 値が2回含まれるデータを取り出す |
SELECT "カラム名" FROM "テーブル名" WHERE "カラム名" LIKE '___' | アンダーバーの数の文字数のデータの取り出し |
GROUP BY "カラム名" | データをまとめる(別記事で解説) |
HAVING "カラム名" (> or <)= '値' | GROUP BYでまとめたデータに取得する条件を追加する(別記事で解説) |
SELECT "カラム名" FROM "テーブル名" LIMIT '数字' | 最大で上から数字のデータを取得する |
SELECT "カラム名" FROM "テーブル名" LIMIT '数字A', '数字B' | 数字A +1 のデータから数字B分のデータを取得する |
SELECT DISTINCT "カラム名" FROM "テーブル名" | 指定したカラム名を除外してデータを取り出す |
INSERT INTO ”テーブル名" VALUES(レコード名, ...) | レコードにデータを追加する |
UPDATE "テーブル名" SET "レコード名" = 変更内容 , ... |
データの更新 |
DELETE FROM "テーブル名" | テーブルの全データ削除 |
DELETE FROM "テーブル名" WHERE 'カラム名' = '値' | WHEREで示したカラムの値に当てはまるデータの全削除 |
DELETE FROM "テーブル名" LIMIT '数字' | LIMITで示した数字のデータを上から順に消す |
DELETE FROM "テーブル名" ORDER BY "カラム名" '並び方' LIMIT '数字' | 並び方を変えてLIMITで示した数字のデータを上から順に消す |