【SQL超入門講座】01.コース紹介 ~ SQLとは? ~ 環境構築|初心者向け

SQL超入門はじめます
SQL超入門講座

この記事の執筆・監修

キノコード
キノコード    

テクノロジーアンドデザインカンパニー株式会社のCEO。
日本最大級のプログラミング教育のYouTubeチャンネル「キノコード」や、プログラミング学習サービス「キノクエスト」を運営。
著書「あなたの仕事が一瞬で片付くPythonによる自動化仕事術」や、雑誌「日経ソフトウエア」や「シェルスクリプトマガジン」への寄稿など実績多数。

SQL超入門講座の説明

こんちには。キノコードです。
この動画からSQL超入門講座というものをはじめていきます。
あとで、説明しますが、SQLはプログラミング言語ではありません。
SQLは、あくまでデータベースを操作するための言語です。
でも、SQLはプログラマをやる人には必須の言語いってもいいでしょう。
なぜなら、データベースを使っていないWebサービスは、ほとんどないといっても過言ではないですし、人工知能開発やデータ分析においては、データベースからデータを抽出することがよくあることだからです。
したがって、SQLはプログラマをやる人には必須の言語いってもいいでしょう。
この講座では、SQLの基本的なことを学んでいきます。
この機会に一緒に学んでいきましょう。
キノコードでは、人気言語のPython超入門講座、仕事の自動化の講座、Pythonを使った株の分析講座、人工知能の講座を配信しています。
またこれからは、Webアプリケーション開発の講座なども配信していきます。
チャンネル登録がまだの方は、新着通知がいきますので、ぜひチャンネル登録をお願いします。
それでは、レッスンスタートです。

レッスンで使ったファイルはこちら

■保存方法
Mac:右クリック⇒「リンク先を別名で保存」
Windows:右クリック⇒「名前を付けてリンク先を保存」
test_database.dbはこちら

SQLとは

まず、SQLとは何か?
そういった説明からしていきたいと思います。
SQLとは、1970年代に開発されたデータベース言語のことです。
SQLは、Structured Query Languageの略です。
SQLは、データベース言語であり、プログラミング言語ではありません。
SQLは、あくまでデータベースを操作するための言語です。
しかし、Webアプリケーション開発などでは、データベースは切っても切れない関係にあります。
なぜなら、データベースを使っていないWebサービスは、ほとんどないといっても過言ではないからです。
そのため、SQLはプログラミング言語ではないものの、好きなプログラミング言語にSQLが入っていることがあります。

SQLの特徴

SQLで出来ることは大きく分けると3つです。
データ操作、データ定義、データ制御の3つです。
1つずつ説明します。
ファッション通販サイトを例に、みてみましょう。
まず、データ操作についてです。
データベースには、会員登録をしたユーザー情報などのデータを格納することができます。
SQLでは、そのデータベースから、特定の条件にあったものを抽出できます。
例えば、20歳以上のユーザーを抽出したり、東京に住んでいるユーザーを抽出したりできます。
他にも、SQLでは、20歳未満のユーザーを削除したり、年齢を更新したり、新しいユーザーのデータを追加したりできます。
データを操作する言語のことをDML(Data Manipulation Language)、データ操作言語といいます。

次に、データ定義についてです。
ファッション通販サイトで、新しい服を販売することになったとします。
そうすると、新しい服の商品名や値段を登録する必要があります。
データベースには、表形式のテーブルといわれるものにデータを登録します。
SQLでは、新しい服の商品名や値段を登録するテーブルや、データベースそのものを定義することができます。
データを定義する言語のことをDDL(Data Definition Language)、データ定義言語といいます。

最後に、データ制御についてです。
ファッション通販サイトの従業員全員が、ユーザーの情報を閲覧できるとなると情報セキュリティの観点からよくありません。
そこで、SQLでは、データベースを利用できる権限を与えたり、権限を剥奪したりすることができます。
データを制御する言語のことを DCL(Data Control Language)、データ制御言語と言います。

リレーショナルデータベースマネジメントシステムとは?

SQLを使って学習をしていくには、データベースを管理するシステムが必要になってきます。
そのデータベースを管理するシステムには、色々種類があります。
有名どころには、Oracle Database、MySQL、Postgresqlなどがあります。
MySQL、Postgresqlなどデータベースを管理するシステムのことを、リレーショナルデータベースマネジメントシステムといいます。
リレーショナルデータベースマネジメントシステムとは、言葉の通りではありますが、リレーショナルデータベースを管理するためのソフトウェアのことです。
では、リレーショナルデータベースとはなんでしょう?
リレーショナルデータベース(Relational Database)は、データベースの一種です。省略して、RDBとも呼ばれます。
また、リレーショナルデータベースマネジメントシステムのことは、略してRDBMSともいいます。
データベースとは、収集したデータを、検索や追加などが簡単にできるように整理したものです。
データベースには、リレーショナルデータベースの他に、階層型データベース、ネットワーク型データベースなどがありますが、リレーショナルデータベースは一番スタンダードなタイプのデータベースです。
RDBの特徴は、データを「表形式」で管理することです。
関係の深い属性を列で並ばせ、そこに行としてデータを登録していくイメージです。
列や行を指定したり、表と表をつなぎ合わせたりしながらデータの検索ができます。
このリレーショナルデータベースを管理するためのRDBMSは、SQLを使って、データの登録・検索・更新・削除をすることができます。

SQLiteとは「SQLの学習環境の構築」

ではこの講座では、SQLiteというRDBMSを使ってレッスンを進めていきます。
SQLiteもRDBMS(リレーショナルデータベースマネジメントシステム)の一つです。 SQLiteは、RDBMSの中でも名前の通り非常に軽量(ライト)です。
また、オープンソースのRあることが特徴です。
他の有名なデータベースは、DBサーバーを立ち上げる必要があるのに対し、SQLiteはアプリケーションに組み込む形で使用することができます。
SQLiteは、軽量であり、簡易的であるため、初めてSQLの学習する方におすすめです。
また、SQLiteは、Pythonなどのプログラミング言語とライブラリの関係で連携することができます。
例えば、Pythonにはsqlite3というライブラリがあり、インポートするだけで簡単にプログラムからSQLiteを操作することもできます。
軽量で簡易的、かつ依存性が少ないRDBMSなので、簡単なアプリを作成したいときはSQLiteだけで十分といったことも多いです。

DB Browser for SQLiteとは

SQLiteはCUI、つまり、macだとターミナル、windowsだとでコマンドプロンプトで操作するのが基本ですが、それだと初心者の方には操作しにくいです。
そこで、この講座では、DB Browser for SQLiteという、SQLiteをGUIで操作するためのツールを使っていきましょう。
このツールを使えば、GUIなので、視覚的に分かりやすくデータベースを操作できるようになります。
また、DB Browserをインストールすると、SQLiteも一緒にインストールされます。
したがって、これ一つでSQLiteを使えるようになるので便利です。
この講座では、DB Browserを使って学習を進めていきましょう。

DB Browser for SQLiteをインストール

では、DB Browserをインストールしていきます。
なお、ここではMac版でのインストールを想定していますので、WindowsやLinuxを使用している方は都度読み替えてください。
まずこのURLにアクセスします。

Downloads - DB Browser for SQLite

下に少しスクロールするとMac版のDB Browserが出てくるので、ダウンロードリンクをクリックします。

ダウンロードが終わったら.dmgファイルを展開します。
すると下のような画面が出てくるので、ドラッグ&ドロップでアプリケーションに追加します。

これでインストール完了です。
LaunchPad内にDB Browserが追加されているはずなので、開いてみましょう。
するとこのような画面が表示されます。

これでインストールは完了ですが、次回からのSQL学習に向けて、データベースを開いてみましょう。
データベースのファイルはキノコードのウェブサイトにあります。
概要欄にURLを貼ってありますので、ダウンロードをお願いします。
ダウンロードしたファイルを学習用のフォルダに保存をします。
画面左上の「データベースを開く」をクリックします。
これでデータベースを開くことができました。
デフォルトでは「データベース構造」になっているはずなので、それを「SQL実行」に変更します。

次のような画面になっていれば成功です。
画面左上のカーソルが当たっているところがSQLを記述するところです。

select * from test_table;

データが表示されるか確認してみましょう。
表示されました。

おわりの挨拶

SQL入門講座の第1回は終わりです。
いかがでしたでしょうか?
次回から本的なレッスンに入っていきます。
ぜひチャンネル登録をしてお待ちください。
キノコードの動画作成では、余計な部分をカットして、綺麗なアニメーションも入れた動画作成をしています。
これからもたくさん動画をだしていきますので、ぜひチャンネル登録をお願いします。
それではまた次のレッスンでお会いしましょう。

レッスンで使ったファイルはこちら

キノクエストでアカウントの新規登録に進み、メール認証を完了します。

ログインした状態(プラン選択画面が表示されます)で下記のボタンをクリックしてください。

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト