本記事では、私がSQLを学ぶにあたって、一番基礎となる最初に最低限押さえるべきと感じた内容についてまとめました。
目次
初歩的な知識
データベースの基本操作
データベースの作成 | CREATE DATABASE データベース名; |
データベースの選択 | USE データベース名; |
データベースの一覧表示 | SHOW databases; |
データベースの削除 | DROP DATABASE データベース名; |
テーブル操作
テーブルの一覧表示 | SHOW tables; |
テーブルの作成 | CREATE TABLE テーブル名 ( 列名1 データ型, 列名2 データ型, ... ); |
テーブルの削除 | DROP TABLE テーブル名; |
データの操作
データの挿入 | INSERT INTO テーブル名 (列名1, 列名2, ...) VALUES (値1, 値2, ...); |
データの更新 | UPDATE テーブル名 SET 列名 = 新しい値 WHERE 条件; |
データの削除 | DELETE FROM テーブル名 WHERE 条件; |
データの抽出
全ての行を選択 | SELECT * FROM テーブル名; |
特定の列を選択 | SELECT 列名1, 列名2 FROM テーブル名; |
条件に基づいて抽出 | SELECT * FROM テーブル名 WHERE 条件; |
ソート | SELECT * FROM テーブル名 ORDER BY 列名 ASC|DESC; |
データの結合 | SELECT * FROM テーブル1 JOIN テーブル2 ON 条件; |
集計関数
合計 | SELECT SUM(列名) FROM テーブル名; |
平均 | SELECT AVG(列名) FROM テーブル名; |
最大値 | SELECT MAX(列名) FROM テーブル名; |
最小値 | SELECT MIN(列名) FROM テーブル名; |
行数 | SELECT COUNT(*) FROM テーブル名; |
その他用語
DDL
- Data Definition Languageの略、データ定義言語と呼ばれるSQLの命令のこと
- 主なデータ定義言語
CREATE | 新しいテーブルやビューなどのデータベースオブジェクトを作成する |
DROP | 既存のデータベースオブジェクトを削除する |
ALTER | 既存のテーブルベースオブジェクトを変更する |
TRUNCATE | テーブルを再作成する(テーブル内のデータを全削除する) |
実際に使用したSQL文
テーブル名をあいまい検索
名前に「department」を含むテーブルを検索 | SHOW TABLES like '%department%'; |
「%」を使用すると、前後に何を含むか問わずdepartmentが含まれるテーブルを探してくれる
その他カラム操作
カラムのデータ型を確認(userテーブル内) | SHOW COLUMNS FROM user; |
カラム名を変更(department→depart) | ALTER TABLE user RENAME COLUMN department TO depart; |
カラムのデータ型を変更 | ALTER TABLE user ALTER COLUMN age INT; |
表示操作
実行結果の重複レコードを1つにまとめる | SELECT DISTINCT user.id |
表示件数を限定する | SELECT * FROM テーブル名 LIMIT 10; |
案件で学んだこと
ASはWHERE内では利用できない
- ASを使用してエイリアスを作成した場合、WHERE句内では使用できない
- HAVINGが似たような形で利用できる
WHERE句 | 元々のデータでの抽出条件を指定可能(加工後データNG) |
HAVING句 | 抽出条件を指定可能(加工後データOK) |
複数テーブルを結合するときはテーブル名.カラム名で指定する
- 複数のテーブルを参照しているが故に、どのテーブルのどのカラムか曖昧というエラーが発生する
エラー例 | Unknown column 'user.id' in 'where clause’ |
複数IDを検索したい場合
複数IDを抽出条件として指定 | WHERE id IN (00001,00003,00005); |
数値の場合は値範囲で指定可能 | AND (pr_source_id BETWEEN 00001 AND 00005); |
参考コンテンツ
WEB
DDLについて確認しました。ありがとうございます!
ITを分かりやすく解説
DDL(データ定義言語)とは
データ定義言語(DDL) DDLとは DDL(Data Definition Language)とは、データ定義言語と呼ばれるSQLの命令のことです。 主なデータ定義言語は次の通り。 データ定義言語
WHERE句の部分で参考にしました。ありがとうございます!
コメント