こんにちはiwanagaです。
最近ちょいちょいSQLの勉強をしていましてなかなか面白いので共有させていただきます。
そもそもSQLとは?
そもそもSQLとは何かと言うと"Structured Query Language"の略称で、Languageと書いてある通りデータベース管理システム(DBMS)と対話するためのデータベース言語です。データベースからデータを抽出、挿入、更新、削除などの操作を行うために使用されます。
なお余談ではありますがSQLはプログラミング言語ではなくデータベース言語です。データベースを管理するソフトウェアを操作・制御することが目的の言語であり、プログラミング言語ではないのでシステムを開発することはできません。ただデータをしっかりと制御するためだけにいる一途で不器用な感じや、ISO(国際標準化機構)で規格化される程の汎用性、この筋が通っていて燻銀な感じが自分は大好きです。
SQLの基礎知識
個人的にSQLの基礎を知るにはざっくりと大きく分けて2つ
①SQLで制御するデータベースの4大要素
②実行するSQLの4大命令文
です。
まずは①SQLで制御するデータベースの4大要素について説明させていただきます。
①SQLで制御するデータベースの4大要素
まずはSQLで制御するデータベースを構成する4大要素を説明させていただきます。ちょっとExcelに似ているところもありますので、Excelになぞらえて説明させていただきます。
・テーブル
Excelで言うとシートに相当するのがテーブルです。データベースではデータの種類やプロ
グラムの利便性を考慮して複数のテーブルを持つことが多く、Excelのブックのような構造
になっているとイメージできます。
・カラム
Excelで言うと列に相当するのがカラムです。雑誌の囲み記事を”コラム”といいますが、ス
ペルは同じです。データベースではカラムごとに、文字列(と文字数)、数値(と桁数)
のように属性が定められるので、打ち合わせにおいては、これら属性のことをカラムと呼
ぶ人もいます。
・レコード
Excelで言うと行に相当するのがレコードです。テーブルとカラムがデータが保管される場
所のことを表していた語に対して、レコードはデータそのもののことを指す言葉です。ま
た行を意味する”ロウ”と同じ意味で用いることもあります。
・フィールド
レコードを構成する1つ1つの要素のことでExcelでいうセルに相当します。
カラム、レコ
ード、フィールドの関係を表すと、「複数のレコードの同じフィールドを集めたものがカ
ラム 」ということになります。
また、ユーザーインターフェイスにおいてもフィールドと
言う言葉を使います。入力フォームのデータを入力するスペースのこともフィールドとい
います。フォームのフィールドから入力されたデータは、(データベースを使っていれ
ば)該当するテーブルのレコード内フィールドに格納されるわけですから、フォームのフ
ィールドとデータベースのフィールドはこの場合同じと言えます。
※ここまでExcelとくらべて用語の説明をしましたが、データベース自体にはExcelのように検索機能や他のシートを参照したりする機能はありません。
②実行するSQLの4大命令文
SQL言語で出来ることは上記でもざっくりと説明しましたが、それらを象徴するような基礎的な命令文があり、世間ではこれらを4大命令文、あるいは4大構文と言うそうです。下記に一覧表としてまとめます。
命令文 | 用途 |
---|---|
SELECT文 | データ抽出 |
UPDATE文 | データ上書き |
INSERT文 | データ追加 |
DELETE文 | データ削除 |
1つずつ①で説明した内容も交えて説明させていただきます。
・SELECT文
SELECT文では、どのテーブルからデータを取得するかを指定し、レコードやカラムを指
定して取得したいフィールドを選択します。また、条件式を使用して複数のフィールド
や、特定のレコード、カラムなど見たいデータはいくらでもselect文で選択、抽出が出来
ます。
例文
SELECT FirstName, LastName FROM Customers;
・UPDATE文
UPDATE文はどのテーブルのデータを上書きするかを指定し、レコードやカラムを指定
して上書きしたいフィールドを選択します。また、条件式を使用して複数のフィールド
や、特定のレコード、カラムなども更新できます。
例文
UPDATE Products SET Price = 29.99 WHERE ProductID = 101;
・INSERT文
INSERT文では、挿入先のテーブルを指定し、フィールド(カラム)ごとに挿入するデータ
を指定します。これにより、新しいレコードがテーブルに追加されます。
例文
INSERT INTO Employees (FirstName, LastName, Department)
VALUES ('John', 'Doe', 'HR');
・DELETE文
DELETE文では、削除対象のテーブルを指定し、条件式を使用して削除するレコードを指
定します。これにより、指定された条件に合致するレコードがテーブルから削除されま
す。
例文
DELETE FROM Orders WHERE OrderID = 12345;
最後に
いかがでしたでしょうか?次回からはより深掘りした内容や、SQLを使用するにあたって必要な管理ツールの話も出来たらいいなと思っています。
以上です。
エンジニアファーストの会社 株式会社CRE-CO iwanaga