面倒くさそう……。気軽に練習できない?
自分のPCにデータベースを作ってみたい!
SQLを練習・学習したいけど何から始めたらいいか分からない
こんにちは。文系出身エンジニアの佐藤です。
みなさんはSQLを読んだり書いたり出来ますか? 実は、データベース操作の習得はどの言語を学習していても避けては通れない道なんです。
ですが、SQLを実践的に練習したいと思った時いろいろ準備が必要で挫折したり、なにから始めたらいいかわからないという悩みを抱えている方が多くいらっしゃるようです。
この記事では、そんな悩みを抱えている方へ向けて「まずは練習してマスターしたい要素」の紹介を初め、「SQLの気軽な練習方法」から「おすすめ練習書籍」を紹介していきます。
本格的に学習したい方には「練習環境の構築方法」の紹介も行いますので、興味のある方はぜひご覧ください。
それではさっそく基礎的なポイントから押さえていきましょう!
そもそもSQLとは
まずは基本的な知識についておさらいしておきましょう。SQLとは、リレーショナルデータベースを操作する言語です。JavaやPythonなどのプログラミング言語と合わせて使うことが非常に多く、エンジニアなら必須の知識になっています。
SQLを使うことで、データベースから欲しい情報を引き出したり、追加したり削除したりすることができます。
データベースが良く分からない…という方はまずこちらの記事でデータベースの基礎を学習してみましょう!
SQLについてもっと詳しく知っておきたい、そんな方はこちらの記事がお勧めです。
それでは次に、SQLを練習していく中でまずはマスターしたい要素を絞り込んで見ていきましょう。
最初に練習してマスターしたい4要素
そんな状況に陥っている方もいらっしゃるのではないでしょうか? この章ではまず習得したい要素を4つ紹介していきますので、どこからやったらいいか迷っている方はぜひ参考に練習をすすめてみてください。
Select文
まずは必須の知識であるSelect文を書けるようになりましょう。Select文は、データを取得する際に使用する文です。
まずは、全てのデータを取るところから始め、次は欲しいカラムだけ取得できるように練習しましょう。
Where句
取得・更新するデータに条件を付ける部分です。たとえば、IDが3のレコードのデータを取得したいときにはこのWhere句を使います。
より高度で複雑なデータを取得出来るよう、最初に練習したSelect文と合わせて練習していきましょう。
Insert文・Update文
Insert文はデータを追加する時に、Update文は既にあるデータを更新する時に使う文です。こちらも非常に重要な要素です。Update文はWhere句を使うことが多いので、そちらも合わせて使えるよう練習しましょう。
テーブルの結合
SQLではJoinを使ってテーブルを結合することができます。テーブルを結合することでより複雑で大量のデータを取得することができるようになりますが、結合方法や条件を間違えると思ったような結合テーブルになりません。
習得には時間がかかるものですが、諦めず簡単な結合から練習を始めていきましょう。まずは2つのテーブルを結合し、Selectでデータを自在に取得出来るよう練習してみてください。
それが問題なくできるようになれば、3つや4つテーブルを結合して必要なデータだけが記載された結合テーブルを作るなど、高度な学習に移っていきましょう。
大まかにこの4つのステップで学習していくことをおすすめします! もちろん順番は前後しても構いません。まずは気軽に学習サイトでSQL文を実行して慣れていきましょう。
まずは気軽に「学習サイト」で練習してみよう
「SQLの練習に準備が必要なのはちょっとめんどう……」という方や、「気軽にSQLを実行して練習してみたい」という方にはブラウザ上でSQL文を書いて実行できる無料の学習サイトをおすすめします。
練習問題を解きながらSQLに慣れることが出来る学習サイトを今回は紹介します。解説もあるので、自分のSQL文がどんな風に間違っているのかを知ることが出来ます。
解説で分からない用語や文法があれば積極的に検索し、その用語や文法の詳しい解説を読み込むことで知識をつけていきましょう。
実際にSQL文を入力し、実行することで練習問題に解答していく形式の学習サイトです。段階を踏みながらSQL文に慣れることが出来るのでおすすめです。
SQL文を実行して答える問題の他に「データベースとは?」「SQLとは?」という知識も選択問題で解答できる学習サイトです。SQLを頭では理解しているけど、実際に実行したことがない…という方はぜひこちらで動かして練習してみてください。
次に、おすすめの学習書籍の紹介です。SQLを本で学習してもあんまり身に付かないのでは……と思う方もいらっしゃるかもしれませんが、実は書籍も非常におすすめな学習方法なんです。
書籍派の方へ「練習書籍」の紹介
先ほども「書籍を使った練習はおすすめ」と紹介しましたが、これには理由があります。
書籍にはすでに構築済みのクラウドデータベース環境などが用意されている事が多く、書籍を読みながら自分でSQL文を実行して知識を深めることが出来るんです。さらには練習問題・解説も充実しているため「出来るだけ早く効率よく」SQLの練習ができます。
SQLの丁寧な解説から始まり、練習問題も200問以上ついてくる練習書籍です。
クラウドデータベース環境もついてくるので、解説を読みながら実際に動かしてみる事で独学でもSQLを理解することが出来ます。合わせて練習問題を解き、解答を読むことでより深く理解できます。
「やっぱり書いて覚えたい」という方にお勧めの書籍です。手で書いて身に付かせることで、いつしかすらすらとSQL文を書けるようになります。手書きの環境や習慣がある方にオススメします。
このように意外と書籍でも効率的に練習ができます。ぜひ書籍でも練習してみてくださいね。
次に「自分でデータベースを構築して練習したい」という本格派の方へ、練習環境の構築について紹介していきます。
自分のPCで練習したい方へ「練習環境」の構築方法を紹介
この章では自分のPCにデータベースを構築して、自由に練習できる環境を作りたい。という方へ向けて環境の構築方法について紹介していきます。
まずは練習環境構築の前に「データベース管理システム」について簡単に知っておきましょう。
データベース管理システムの種類について
「データベース管理システム」とは、データベースをより効率的に利用するためのシステムです。データベースだけではSQL文などを実行してもデータを取得することが出来ませんが、このシステムがあればSQLを実行してデータベースを便利に扱うことが出来ます。
皆さんは「Oracle」や「MySQL」「SQL Server」など聞いたことがありませんか? 実はどれもデータベース管理システムの名前なんです。どのシステムをつかってデータベースを扱うかによって、少しだけSQL文の文法が違ったりしますが基本は全て同じです。
商用利用なのか、個人なのかというポイントや、データベースの大きさによってデータベース管理システムを選ぶ必要がありますが、今回は練習環境という事なので無料のシステム「MySQL」と「PostgreSQL」の導入をおすすめします。
すでに詳しい導入方法を解説した記事がありますので、方法を見比べて自分にできそうな方を選んでみてはいかがでしょうか?
MySQLの環境構築
MySQLは世界でもっとも利用されているシステムと言われています。オープンソースで非商用利用であれば無償で使用できるので、練習環境にするにはぴったりです。
もっとMySQLについて詳しく知りたい方はこちらの記事をまずはご覧ください。
環境構築の方法が知りたい方は、こちらで詳しく解説しています。
PostgreSQLの環境構築
PostgreSQLもオープンソースで無償利用ができます。筆者はこちらを良く使用していますが、MySQLと比べて少し関数や機能が多いという点以外は変わりありません。
環境構築の方法はこちらで詳しく解説していますので、ご覧ください。
まとめ
SQLを練習したい方へおすすめの方法を紹介しました。
意外と無料でも挑戦できる問題は多くあるので、まずは気軽に練習してみることが大切です。すこし慣れたら書籍もおすすめですよ。プログラミング学習と合わせてSQLの学習も進めていきましょう!
それでは、また次の解説で。