SQLとは
※リレーショナルデータベース(RDB)の操作を行うための問い合わせ言語です。
SQLはISO(国際標準化機構)で規格化が行われているのでどんな種類のRDBでも基本的に同じ文法で使用することができます。
※データをテーブルという表形式の構造で管理するデータベースのことで、Webアプリケーションを作成する際は一般的に使用されます
データベース操作
構文 | 内容 |
SHOW DATABASES; | データベースを一覧で表示 |
CREATE DATABASES; | データベースを作成 |
DROP DATABASE データベース名; | データベースを削除 |
USE データベース名; | データベースを選択 |
テーブル操作
構文 | 内容 |
SHOW TABLES; | 選択したデータベースに存在するテーブルを一覧で表示 |
CREATE TABLE テーブル名 (カラム名 カラム名の型, ……); | テーブルを作成 |
TRANCATE テーブル名 | テーブルをすべて削除 |
SHOW columns FROM テーブル名; | テーブルの構造の確認 |
ALTER TABLE テーブル名 ADD カラム名 カラムの型; | カラムの追加 |
ALTER TABLE テーブル名 ADD (カラム名 カラムの型, ……); | カラムの複数追加 |
ALTER TABLE テーブル名 CHANGE 古いカラム名 新しいカラム名 新しいカラムの型; | カラムの修正 |
ALTER TABLE テーブル名 DROP カラム名; | カラムの削除 |
データの操作
構文 | 内容 |
INSERT INTO テーブル名 VALUES(値1, 値2, 値3); | すべてのカラムに値を追加 |
INSERT INTO テーブル名(カラム名1, カラム名2) VALUES(値1, 値2); | 特定のカラムのみに値を追加 |
UPDATE テーブル名 SET 変更内容 WHERE 条件; | データの更新 |
DELETE FROM テーブル名 WHERE 条件; | データの削除 |
データの検索
構文 | 内容 |
FROM テーブル名 | 検索するテーブル名を指定する |
SELECT カラム名 | 取得するカラムを指定する |
WHERE 条件 | 取得するレコードを制限する |
WHERE a AND b | 複数の条件に一致したレコードを返す |
WHERE カラム名 BETWEEN 下限 AND 上限 | 下限と上限の範囲をレコードを返す |
WHERE a OR b | aかbのどちらかの条件が正のレコードを返す |
WHERE NOT 条件 | 条件に当てはまらないレコードを返す |
検索したデータの形成
構文 | 内容 |
SELECT 取得するデータ AS 別名 | カラム名に別名をつける |
SELECT CONCAT(カラム名1, カラム名2) | カラム名を繋いで1つのカラムとして扱う |
SELECT DISTINCT カラム名 | 指定したカラム名の値が重複する行を除外してデータを取得する |
GROUP BY カラム名 | 指定したカラムが同じ値を守るデータを1つのグループとしてまとめる(DISTINCTと違いデータを集計できる) |
ORDER BY カラム名 | 指定した順番で並び替え カラム名の後ろに「ASC」で昇順、「DESC」で降順 |
LIMIT 件数 | 指定した件数のレコードだけ返す |
SELECT COUNT(カラム名) | そのカラムの値がNULLでないデータの行数を取得 |
SELECT SUM(カラム名) | そのカラムの合計値を計算 |
SELECT AVG(カラム名) | そのカラムの平均値を計算 |
SELECT MAX(カラム名) | そのカラムの最大値を返す |
SELECT MIN(カラム名) | そのカラムの最小値を返す |
FROM テーブル名1 INNER JOIN テーブル名2 ON テーブル名!.カラム名1 = テーブル名2.id |
指定したそれぞれのテーブルの、カラムの値が一致するデータを結合(結合する両方のテーブルにあるデータのみ表示) |
FROM テーブル名1 LEFT JOIN テーブル名2 ON テーブル名!.カラム名1 = テーブル名2.id |
指定したそれぞれのテーブルの、カラムの値が一致するデータを結合(テーブル名1はすべて表示が前提で結合) |
SELECT * FROM テーブル1, テーブル2, テーブル3 WHERE テーブル1.カラム名 = テーブル2.id ACID テーブル1.カラム名 = テーブル3.id |
3つのテーブルを関連づける |
構文の指定順はWHERE > ORDER BY > LIMIT。構文には指定できる順番がある。
SQL学習サイト
言わずと知れた超有名オンライン学習サイトです。
わかりやすくて続けやすいです。
ボリュームがあって分かりやすいです。
動画で学習できるので、動画の方が好きな方はこちらで。
英語のサイトですが、繰り返し練習には最適のサイトです。
SQLの課題を順番にクリアして進めていきます。
入力したSQLがリアルタイムで表に反映されて、正解不正解がすぐわかるのでサクサク進めて効率がよいです。
翻訳にはChrome拡張機能としての「Google翻訳」をショートカット登録して使うと超絶便利ですので詳しくは下記の記事をご覧ください。
http://54.178.123.4/chrome-extension/
コメント