SQLの基本を学ぶための情報をまとめています。
SQLの基本を学ぶための情報
SQLの基本操作
SQLクエリの基本は、select、insert、update、deleteの4つ。データを取得するselect、データを挿入するinsert、データを更新するupdate、データを削除するdeleteです。
select * from employees where emp_no < 20000 and first_name like 'A%' and gender = 'F' limit 10; +--------+------------+------------+--------------+--------+------------+ | emp_no | birth_date | first_name | last_name | gender | hire_date | +--------+------------+------------+--------------+--------+------------+ | 10006 | 1953-04-20 | Anneke | Preusig | F | 1989-06-02 | | 10059 | 1953-09-19 | Alejandro | McAlpine | F | 1991-06-26 | | 10094 | 1957-05-25 | Arumugam | Ossenbruggen | F | 1987-04-18 | | 10120 | 1960-03-26 | Armond | Fairtlough | F | 1996-07-06 | | 10145 | 1956-03-30 | Akemi | Esposito | F | 1987-08-01 | | 10154 | 1957-01-17 | Abdulah | Thibadeau | F | 1990-12-12 | | 10175 | 1960-01-11 | Aleksandar | Ananiadou | F | 1988-01-11 | | 10190 | 1964-12-11 | Arve | Fairtlough | F | 1986-06-23 | | 10206 | 1960-09-19 | Alassane | Iwayama | F | 1988-04-19 | | 10260 | 1961-07-14 | Alper | Suomi | F | 1991-04-13 | +--------+------------+------------+--------------+--------+------------+ 10 rows in set (0.00 sec)
【関連記事】
▶SQLクエリのサンプルコード集 テーブル生成、select、insertなど
データ型
データベースの値やカラムには、整数型、浮動小数点型、文字列型、日付・時刻型、論理値(BOOLEAN)型などがあります。さらにそれぞれの型には、「桁の小さい整数型」「桁の大きい整数型」などが派生して多くのデータ型が存在しているんですよね。
ちなみに、MySQLではshow columnsでテーブルのデータ型を表示できます。Typeの列がデータ型です。
mysql> show columns from employees; +------------+---------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+---------------+------+-----+---------+-------+ | emp_no | int | NO | PRI | NULL | | | birth_date | date | NO | | NULL | | | first_name | varchar(14) | YES | | NULL | | | last_name | varchar(16) | NO | | NULL | | | gender | enum('M','F') | NO | | NULL | | | hire_date | date | NO | | NULL | | +------------+---------------+------+-----+---------+-------+ 6 rows in set (0.00 sec)
最初からすべての型を理解するのは難しいので、まずは基本のデータ型をひと通り学んでおきましょう。
【関連記事】
▶【初心者向け】SQLのデータ型を理解しよう!利用方法も解説!
SQLのリファレンス
主要なデータベース(Oracle、MySQL、SQL Server、PostgreSQLなど)には、SQLや組み込み関数の使い方を解説したマニュアルがネットに公開されてます。
大まかなところは共通していても、それぞれのデータベースで独自に拡張した仕様があるため、お使いの環境に合わせてマニュアル・リファレンスを参照しましょう。
【関連記事】
▶SQLのリファレンス 各DBMSの独自拡張はリファレンスを参照
オンラインのデータベース実行環境
データベースを実際に動かす環境づくりは、実は初心者にはとても難しいもの。インストールから初期設定までの作業で挫折するということも少なくありません。
そんなときに便利なのが、オンラインでデータベースを実行できる環境。
SQL Fiddleなど、ネットのブラウザからSQLを実行して結果を確認できるオンラインサイトがあります。SQLを発行するだけで即、動作が確認できるので初心者にはおすすめ。
【関連記事】
▶SQLのテストに関する方法、おすすめのツールやWebサイトなどを紹介!
SQLの入門者向けの学習サイト
マニュアルを見ながら、手当たりしだいに機能を試しまくるのも良いのですが、系統立てて整理された順に学習していきたいあなたには、オンライン学習サイトがおすすめ。
SQLに関する情報がまとめられ、練習問題が付属しています。
サイトによっては、オンラインの実行環境つきで、練習問題のSQLを打ち込んで、そのまま実行できるものもあります。
【関連記事】
▶SQLの練習問題がある便利なオンラインサービス5選!
サンプルデータベース
オンラインのデータベース実行環境は便利なのですが、本格的にテーブルを作ったり、データを保存することができません。
実は、MySQLやPostgreSQLなどはパソコン版があるため、サーバがなくてもデータベース環境が構築できるんですね。
GCPやAWSなど仮想マシン上にデータベースを構築する方法もありますが、まずは手元のパソコンでデータベースを動かし、サンプルデータベースを導入すると学習がはかどるでしょう。
【関連記事】
▶MySQLの入門には、GUIツールで慣れ、サンプルDBを使った学習が効果的
SQLの初心者用ツール
SQLの初心者ほどツールを活用しましょう。特にエディタと整形ツールは必須と言えます。これらを使うだけで、解消に時間がかかる「Syntax Error」の発生率を抑えることができます。
SQLエディタ
初心者のときほど、SQLを記述するときにSQLエディタを使いましょう。
SQLエディタはデータベースと連動して、テーブル名やカラム名を自動的に取得してくれる専用ツール。クリック一発で正確なテーブル名、カラム名を取得できます。selectやupdateのひな形を自動的に作ってくれるものもあります。
SQLの編集だけではなく、データベースにクエリを発行して結果を取得したり、テーブル作成やユーザ作成などDB管理者向け機能を搭載したもの、データベースからER図を作成するリバースエンジニアリング機能、ER図からデータベースを生成する機能を持つものもあります。
【関連記事】
▶SQLエディタの紹介 クエリの編集・発行に加えDB管理者向け機能もある
SQLの整形
SQLを学び始めたころは、Syntax Error(文法エラー)がなかなか解消できなくて時間を取られるんですよね。
そんな場合は、SQLを整形ツールにかけて見やすくインデントなどを揃えてみましょう。カッコの過不足やカンマの抜けなど、文法上の誤りを発見しやすくなります。
また、プログラム開発では整形済みの見やすいSQLを使うようにすることで、バグの発生率も抑えられます。
SQLの整形には、エディタに付属している整形機能を使うのも良いのですが、オンラインで使える整形ツールが高機能で優秀です。
【関連記事】
▶SQL formatter オンラインで使える無料整形ツール 3選
まとめ
- SQLの基本は、クエリとデータ型をひと通り学習する。
- 学習にはオンライン実行環境やサンプルデータベースをインストールしたテスト環境があると便利
- 初心者ほどSQLエディタと整形ツールを活用すると、Syntax Errorで悩む時間が減らせる