0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SQL DDL・DML編

Posted at

・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で示した数字のデータを上から順に消す
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?