【初心者向け】SQLの基礎について網羅的に学ぶ
公開日: 2022/6/15
更新日: 2022/6/15
WEBアプリケーション開発やスマホアプリ開発などを学ぶ際に切っても切れない関係にあるのがデータベースの知識となります。
こちらは前回の記事でざっくりと解説させて頂きましたが、今回はデータベースを操作するためのデータベース言語である、SQLについて解説した記事を書いていこうと思います。
SQLを使用することで、データベースに対して作成・更新・削除・参照などの処理を効率的に行うことが可能となります。
プログラミング言語とSQLの違いについては、プログラミング言語はJavaやPython等のコンピュータに関して指示を送るプログラミング言語なのに対して、SQLはデータベースに対して”のみ”指示を送ることが出来るデータベース言語となるので、実態としては全く別の物となります。
最初のうちは、ややこしいので理解に苦しむかもしれませんが、やっていく内に嫌でも覚えていくこととなるので、ご安心ください。
今回の記事ではSQLの基本的な部分や、データベースの選択方法などについて解説していきます!
データベースの種類
データベースの選択方法
今回は代表的なSQLの書き方を紹介するので、使用するデータベースのよって書き方が若干異なることを念頭に置いて頂ければと思います。
こちらは前回の記事でざっくりと解説させて頂きましたが、今回はデータベースを操作するためのデータベース言語である、SQLについて解説した記事を書いていこうと思います。
SQLを使用することで、データベースに対して作成・更新・削除・参照などの処理を効率的に行うことが可能となります。
プログラミング言語とSQLの違いについては、プログラミング言語はJavaやPython等のコンピュータに関して指示を送るプログラミング言語なのに対して、SQLはデータベースに対して”のみ”指示を送ることが出来るデータベース言語となるので、実態としては全く別の物となります。
最初のうちは、ややこしいので理解に苦しむかもしれませんが、やっていく内に嫌でも覚えていくこととなるので、ご安心ください。
今回の記事ではSQLの基本的な部分や、データベースの選択方法などについて解説していきます!
この記事を読むことで分かること
SQLの基本的な操作方法データベースの種類
データベースの選択方法
注意点
どのデータベースを使うにしてもSQLの概念等は同じなのですが、データベースの種類によって若干書き方が異なります。今回は代表的なSQLの書き方を紹介するので、使用するデータベースのよって書き方が若干異なることを念頭に置いて頂ければと思います。
1. SQLの代表的な操作
1-1. SELECT文
SELECT文はデータベースのテーブル内に蓄積されたデータから、”ある一定の条件”に合致するデータのみを抽出したい場合に使用します。
下記に幾つか例題を記載します。
例)Testテーブルに格納されているデータを全て抽出したい
SELECT *
FROM Test
上記SQLを解説すると、
①先頭に、どのデータが欲しいかを指示するために”SELECT”と記載
②全てのデータを意味する”*”を記載
※必要なデータが確定している場合は、そのカラム名を記載
③FROMのあとに対象となるテーブル名を記載
上記SQLを実行するとTestテーブルに格納されている全てのデータが抽出されますが、WHERE句を使うことで、データの中からある一定の条件に合致したデータのみを抽出することも可能です。
例)Testテーブルに格納されているデータの中から、男性のみを抽出
SELECT *
FROM Test
WHERE 性別=’男性’
下記に幾つか例題を記載します。
例)Testテーブルに格納されているデータを全て抽出したい
SELECT *
FROM Test
上記SQLを解説すると、
①先頭に、どのデータが欲しいかを指示するために”SELECT”と記載
②全てのデータを意味する”*”を記載
※必要なデータが確定している場合は、そのカラム名を記載
③FROMのあとに対象となるテーブル名を記載
上記SQLを実行するとTestテーブルに格納されている全てのデータが抽出されますが、WHERE句を使うことで、データの中からある一定の条件に合致したデータのみを抽出することも可能です。
例)Testテーブルに格納されているデータの中から、男性のみを抽出
SELECT *
FROM Test
WHERE 性別=’男性’
1-2. INSERT文
INSERT文はテーブルにデータを追加する際に使用される構文です。
基本的な構文は、下記の通りです。
INSERT INTO テーブル名(カラム1、カラム2)VALUE(データ1、データ2)
例)TestテーブルのAカラムに男性、Bカラムに20代のデータを追加
INSERT INTO Test(A、B) VALUE(‘男性’、’20代’)
基本的な構文は、下記の通りです。
INSERT INTO テーブル名(カラム1、カラム2)VALUE(データ1、データ2)
例)TestテーブルのAカラムに男性、Bカラムに20代のデータを追加
INSERT INTO Test(A、B) VALUE(‘男性’、’20代’)
1-3. UPDATE文
UPDATE文は、既にデータベースに格納されているデータの一部分を更新する際に使用される構文です。
基本的な構文は下記の通りです。
例)TestテーブルのAカラムが男性のデータに対して、Bカラムを30代に変更
UPDATE Test B=’30代’ WHERE A=’男性’
基本的な構文は下記の通りです。
例)TestテーブルのAカラムが男性のデータに対して、Bカラムを30代に変更
UPDATE Test B=’30代’ WHERE A=’男性’
1-4. DELETE文
DELETE文は、テーブルを削除したい場合や、テーブル内のデータを削除したい場合に使用する構文です。
基本的な構文は下記のとおりです。
例)Testテーブルを削除する場合
DELETE FROM Test
例)TestテーブルのAカラムが男性のデータを削除する
DELETE FROM Test
WHERE A=’男性’
基本的に、追加、削除、更新などデータベースに直接影響が発生する構文に関しては、ある程度知識のある人に任せることが多いです。
なので、最初の段階ではSELECT文の使い方をマスターしつつ、もしUPDATEやDELETEのSQLを見た際に、こういうことをやっているSQLなんだなと理解できるぐらいにしておけば、特に問題は無いかと思います。
基本的な構文は下記のとおりです。
例)Testテーブルを削除する場合
DELETE FROM Test
例)TestテーブルのAカラムが男性のデータを削除する
DELETE FROM Test
WHERE A=’男性’
基本的に、追加、削除、更新などデータベースに直接影響が発生する構文に関しては、ある程度知識のある人に任せることが多いです。
なので、最初の段階ではSELECT文の使い方をマスターしつつ、もしUPDATEやDELETEのSQLを見た際に、こういうことをやっているSQLなんだなと理解できるぐらいにしておけば、特に問題は無いかと思います。
2. データベースの種類について
先述したように、データベースは複数あり、データベース毎に使用するSQL構文が少し変わってきます。
本章では、開発現場などで使用されることの多い代表的なデータベースの種類について解説していきます。
無償で使えるということもあり、個人の練習用として利用されることも多く、国内での導入事例も多いため、分からない部分をインターネットで検索しても多くの文献が見つかるのでオススメです。
ただ、ポスグレとは違い有料のデータベースとなります。
しかし、国内では圧倒的なシェアを持つため、オラクルが触れれば、仕事で苦労することはないんじゃないかと思います。
また、オラクルには技術量や理解度を示す資格(オラクルシルバーやオラクルゴールド)も存在しているので、転職やキャリアアップを考えられている方にもオススメです。
オラクルやポスグレを触ってみて、敷居が高いと感じた方はAccessを触ってみると全体的な理解が深まるんじゃないかなと思います。
こちらも多くのシェアを持つデータベースなので、企業の研修用として導入されるケースが多いです。
その他にもたくさんのデータベースがありますが、代表的なデータベースとしては上記4つが挙げられます。
本章では、開発現場などで使用されることの多い代表的なデータベースの種類について解説していきます。
①PostgreSQL(ポスグレ)
ポスグレはリレーショナルデータベースと言われるデータベース種類に該当します。無償で使えるということもあり、個人の練習用として利用されることも多く、国内での導入事例も多いため、分からない部分をインターネットで検索しても多くの文献が見つかるのでオススメです。
②Oracle(オラクル)
オラクルもポスグレと同様にリレーショナルデータベースと呼ばれるデータベースです。ただ、ポスグレとは違い有料のデータベースとなります。
しかし、国内では圧倒的なシェアを持つため、オラクルが触れれば、仕事で苦労することはないんじゃないかと思います。
また、オラクルには技術量や理解度を示す資格(オラクルシルバーやオラクルゴールド)も存在しているので、転職やキャリアアップを考えられている方にもオススメです。
③Microsoft Access(マイクロソフト アクセス)
前回の記事で紹介した、Accessも非常に人気のデータベースです。オラクルやポスグレを触ってみて、敷居が高いと感じた方はAccessを触ってみると全体的な理解が深まるんじゃないかなと思います。
④My SQL(マイエスキューエル)
リレーショナルデータベースで、基本無料のデータベースですが、商用利用する場合は有料となります。こちらも多くのシェアを持つデータベースなので、企業の研修用として導入されるケースが多いです。
その他にもたくさんのデータベースがありますが、代表的なデータベースとしては上記4つが挙げられます。
2-1. データベースの選択方法
世の中には、有償・無償な様々なデータベースが存在しますが、プロジェクトに導入するデータベースの選択基準について、軽く解説します。
判断の正確な基準は各プロジェクトにより異なりますが、大きな部分で行くと、
①予算
②用途
この2つにあったデータベースが選択されます。
①の予算については先述したように、無料のデータベースもあれば、有料のデータベースも存在するため、プロジェクトの予算内に収まるようにしなければいけません。
②用途については、例えば人事管理を行う場合はリレーショナルデータベースの方が管理がしやすいため、選択される場合が多いです。
ドキュメントなどを管理する場合には、NoSQLの方が適しています。
上記のように、それぞれのデータベースで適していること、適していないことがあるため、”何としたいのか”をハッキリとさせることが、データベース選びでは大事になってきます。
判断の正確な基準は各プロジェクトにより異なりますが、大きな部分で行くと、
①予算
②用途
この2つにあったデータベースが選択されます。
①の予算については先述したように、無料のデータベースもあれば、有料のデータベースも存在するため、プロジェクトの予算内に収まるようにしなければいけません。
②用途については、例えば人事管理を行う場合はリレーショナルデータベースの方が管理がしやすいため、選択される場合が多いです。
ドキュメントなどを管理する場合には、NoSQLの方が適しています。
上記のように、それぞれのデータベースで適していること、適していないことがあるため、”何としたいのか”をハッキリとさせることが、データベース選びでは大事になってきます。
3. まとめ
今回の記事ではSQLを中心に、データベースの知識について解説していきました。
皆さんが今後、個人で開発を進めていくのか、どこかのプロジェクトのメンバーとしてアサインするかによって使用するデータベースは異なると思います。
しかし、どのデータベースを使うにしても概念的な部分は同じです。
SELECT、UPDATE、DELETE、INSERT等、今回解説した内容を頭の片隅に置いて頂けるとスムーズに学習を進めていけると思います。
皆さんが今後、個人で開発を進めていくのか、どこかのプロジェクトのメンバーとしてアサインするかによって使用するデータベースは異なると思います。
しかし、どのデータベースを使うにしても概念的な部分は同じです。
SELECT、UPDATE、DELETE、INSERT等、今回解説した内容を頭の片隅に置いて頂けるとスムーズに学習を進めていけると思います。