こんばんは、堀井です。
内定先の会社には10月から入ることになっているのですが「それまでに自習であれやこれやを勉強しておいてほしい」と言うことで、SQLを学ぶよう指示を受けました。
そもそもSQLってプログラミング言語???それとも全く別の何か???ってほどに何も知らない状態ですので、もし間違っている箇所などありましたら是非教えてください。
挫折の歴史
言語に限らずそうだとは思います*1が、例えばC言語を学ぼうと思うと難易度の高い環境構築からしなければならないのが通常です。
職業訓練以前も興味を持って調べたことはあるのですが、その方法が分からず何度か挫折しています。
ちなみに現在コードを少し書いたり読んだりすることは出来るようになったのですが、未だにC言語の環境構築は出来ません。
プログラム実行までの順序を簡単に書くと、
・テキストエディタでコードを書く
・コンパイラーを使ってそのテキストファイルをコンパイルする
・コマンドプロンプトから実行する
と言った感じですが、太字になっている2つ目!!この時点で停止してしまうんですよね・・・。
現在はMacBookが手元にあるのでXcodeで済ませていますが、Windowsでは現在何も出来ません。
とはいえ先日VisualStudioをインストールしたので、その内また試してみようとは思います。
コンパイラ付属のエディタばかりになればいいのにとは思いますが、それはそれで。
本を買おう
とりあえずは会社の方にお勧めされた本を買うことにしました。
こちらです。

SQL 第2版 ゼロからはじめるデータベース操作 (プログラミング学習シリーズ)
- 作者: ミック
- 出版社/メーカー: 翔泳社
- 発売日: 2016/06/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
どうやら先日まで通っていた学校にも置いてあったらしいほどにはあちらこちらで使われている良書だそう。
パラっと中身を見てみると、上記で苦しんでいた環境構築から丁寧に書いてあって非常にありがたいです。
・・・まぁ、ファイルの保存先のせいでアクセスには悩みましたが(自分の問題)、何とか環境構築までは出来ました。と言うことで使用するRDBMSはPostgreSQLとなります。
コマンドプロンプトも普段全く使わない謎機能となっていたので、これはこれで面白いですね。
補足
データベースには
- 階層型データベース(ツリー構造)
こちらは殆ど使われませんので多分勉強しません
- リレーショナルデータベース(二次元構造)
二次元構造と言うと少し分かりづらいかもしれませんが、エクセルシートを考えていただければ分かると思います
略してRDBMS(リレーショナル データベース マネジメント システム)です
そんなRDBMSも色々あって、
Oracle Database
SQL Server
DB2
PostgreSQL
MySQL
などがあります。
どれもSQLと呼ばれる言語を使ってDBを触ることになるのですが、それぞれ書き方が若干違います。
私が今回選択した(会社の指示ではありますが)ものがpostgreSQLです。
早速弄ってみよう
コマンドプロンプトの起動
1.win + R で「ファイル名から指定して実行」を呼び出し「cmd」と入力 -> Enter
2.[スタート] -> [すべてのプログラム] -> [アクセサリ] -> [コマンドプロンプト]
どちらでも同じです
postgreSQLを起動
例えばCドライブのデスクトップにある方であれば
「C:\Desktop\psql.exe -U postgres」
と入力すると起動します。
postgreSQLのインストール時にパスワードを設定した場合、パスワードの入力を求められます。
postgreSQLの終了
「\q」と入れるだけで終了します。
が、当然コマンドプロンプト自体は終了しません。
「exit」と入れるとコマンドプロンプトそのものも終了します。
とりあえずはこの程度でしょうか・・・?
書き方が違うだけで、感覚としてはExcelに非常に似ているため考え方としては特に困ることはありませんでした。
ただ、fromやwhereなどの書き順や、表示文字列の変更をするときのasの後ろがダブルクオーテーションでないといけないなど細かい指定が覚えられるほど勉強ができていないので今しばらく悩むとは思います。
本末転倒な気がしないもないですが個人でデータベースを利用する程度ならExcelでまとめれば十分なのではないでしょうか・・・。
それではまた次回。
*1:html, css, JavaScript, ExcelVBAなどは環境構築が楽な方ですよね