【楽しく学ぶSQL入門】第1章:SQLの基礎

公開日:
更新日:

システム開発の現場で、データの管理や操作のために日夜使い倒されている必須スキル──それがSQL。まずは、あらゆる開発の土台とも言えるSQLの基本概念から、一歩ずつ紐解いていきましょう。

データベースとは?

検索や情報の書き換え、分析といったデータ管理を目的に、あらゆる情報を扱いやすい形で蓄積した仕組みのこと。
身近な例で言えば、紙の電話帳や会員名簿も立派なデータベースの一種です。
デジタル(IT)の世界においては、ハードディスクなどの電子媒体にファイル形式で安全に保存・ストックされた仕組み全般を指します。

RDB(Relational Database)について

データの保存形式や管理スタイルの違いによって、データベースにはいくつかのタイプが存在します。
その中で、現在のシステム開発において主流となっているのが、複数の「表(テーブル)」を組み合わせてデータを管理するリレーショナルデータベース(RDB : Relational Database)という仕組み。

RDBの基本構造

  • 1つのデータベースには複数の表が含まれ、これらをテーブル(table)と呼びます。
  • 管理しやすいよう、それぞれの表に固有の「テーブル名」を与えるのが基本。
  • 表自体は、縦の列である列(column)と横の行である行(row)の組み合わせ。
  • 「1行」が顧客1人分などのデータ1件に対応し、「列」はそのデータの要素(名前や年齢など)を表す。
SPORTNO SPORTNAME
01 野球
02 サッカー
03 バレー
04 バスケ
05 ラグビー

SQL(Structured Query Language)とは?

一言で表現するなら、データベースへ命令を送るための専用言語。
これを使うことで、データの検索だけでなく、新しい情報の登録、書き換え(更新)、削除まで自由自在にコントロールできます。
データそのものを操作するだけでなく、新しいテーブルやデータベースの器自体を作る役割も担っています。

DBMS(Database Management System)について

私たちが書いたSQL文は、直接ファイルへ届くわけではありません。間に入って命令を仲介してくれるデータベース管理システム(DBMS : Database Management System)という専用ソフトへ送られます。
DBMSがSQLを読み解き、ファイルの中身を検索したり書き換えたりする実務を裏で代行してくれるわけです。
ちなみに、先ほど触れた「複数の表(RDB)」を専門に扱うDBMSを特にRDBMSと呼びます。大企業向けの有償製品から、誰でも無料で使えるオープンソースのものまで世界中で幅広く公開されています。

※代表的なRDBMS
有料ライセンス:Oracle Database, Db2, SQL Server
オープンソース(無料):MySQL, MariaDB, PostgreSQL, SQLite, H2 Database

参考サイト:MySQL 公式サイト(MySQL 8.4 Reference Manual)

SQLを使ってみる

① データを検索する

SELECT * FROM employee;

② データを登録する

INSERT INTO employee (employee_id, group_id, name1, name2, sex_id, age, birthday, email, tel)
VALUES (31, 1, 'テスト', '太郎', 1, 24, '1994-04-24', 'test_taro@example.com', '08000001111');

③ データができたことを確認する

SELECT * FROM employee;

④ データを更新する

UPDATE employee SET name1 = '〇', name2 = '〇' WHERE employee_Id = 31;

※〇に自分の名前を書いてみよう!

⑤ データが更新できたことを確認する

SELECT * FROM employee WHERE employee_Id = 31;

⑥ データを削除する

DELETE FROM employee WHERE employee_Id = 31;

⑦ データが削除できたことを確認する

SELECT * FROM employee WHERE employee_Id = 31;

お問い合わせ

CONTACT

業務システムに関するお困りごと、WEBサイトの制作など、
まずはお気軽にお問い合わせください。

会員サイト
CONTACT
06-6305-2278
採用サイトはこちらRECRUIT