こんにちは!開発部のkamiです。
今回は新人エンジニアの僕がデータベースとSQLの基本について初心者向けにまとめてみました。
データベースとは
データベースとは簡単にいうと「データが入っている箱」のようなものです。大量にあるデータを抽出、編集、検索などしやすくしたものです。一般的には、一連のテーブルの行と列で構成化されている場合が多いです。
SQLとは
SQLとはデータベース言語の一つで、データベース言語とは「データベースを操作するための言語」のことです。具体的には、データベースに大量のデータを効率的に取得・更新・削除・追加することができます。
SQL言語の種類
データ定義言語(DDL)
DDLとはData Definition Languageの略で、データベースの構造や構成を定義するための言語です。
主なデータ定義言語はこちら
データ定義言語 | 説明 |
CREATE | 新しいデータテーブルを作成する |
ALTER | 既存のデータテーブルを変更する |
JOIN | 複数のデータテーブルを結合する |
DROP | データテーブルを削除する |
データ操作言語(DML)
DMLとはData Manipulation Languageの略で、データベースを管理・操作するための言語です。データベースに記録されたデータの参照や操作を行います。
主なデータ操作言語はこちら
データ操作言語 | 説明 |
INSERT | データテーブルにデータを新規追加する |
SELECT | データテーブルのデータを検索する |
UPDATE | データテーブルのデータを更新する |
DELETE | データテーブルのデータを削除する |
データ制御言語(DCL)
DCLとはData Control Languageの略で、データベースを管理・操作するための言語です。データベースへのアクセス権の制御やデータベースの状態管理などを行います。
主なデータ制御言語はこちら
データ制御言語 | 説明 |
GRANT | データテーブルに対する権限を与える |
REVOKE | データテーブルに対する権限を取り消す |
(データ制御言語は今回初めて知りました(笑))
SQLの基本操作
データテーブルの作成(CREATE)
データベースにテーブルを作成するにはCREATE文を使います。
基本構文は以下の通りです。
CREATE TABLE デーブル名 (
カラム名 データ型 オプション,
・・・
);
実際に社員テーブルを作ってみるとこんな感じになります。
CREATE TABLE 社員 (
社員番号 数値型, 社員名 文字型, 部署 文字型);
列名 | 社員番号 | 社員名 | 部署 |
データ形式 | 数値型 | 文字型 | 文字型 |
データの追加(INSERT)
テーブルにデータを追加・登録するにはINSERT文を使います。
基本構文は以下の通りです。
INSERT INTO テーブル名 VALUES(カラム1の値,カラム2の値,カラム3の値);
実際に社員データを追加してみるとこんな感じになります。
INSERT INTO 社員 VALUES(0001,'〇〇','開発部');
社員番号 | 社員名 | 部署 |
0001 | 〇〇 | 開発部 |
上記のINSERT文実行後、開発部に社員番号0001の〇〇さんが新入社員として加わりました。
データの検索(SELECT)
テーブルのデータを取得するにはSELECT文を使います。SQLの中でも基本中の基本となる構文です。
基本構文は以下の通りです。
SELECT カラム名 FROM テーブル名;
実際に社員テーブルの全件データを取得するとこんな感じになります。
SELECT * FROM 社員;
社員番号 | 社員名 | 部署 |
0001 | 〇〇 | 開発部 |
0002 | ▲▲ | 運用部 |
0003 | ×× | 営業部 |
上記のSELECT文実行後、全社員のデータを見ることができます。
データの更新(UPDATE)
テーブルにデータを更新するにはUPDATE文を使います。
基本構文は以下の通りです。
UPDATE テーブル名 SET カラム名 = カラム値;
実際に社員データを更新するとこんな感じです。
UPDATE 社員 SET 部署 = '開発部' WHERE 社員番号 = '0002'
社員番号 | 社員名 | 部署 |
0001 | 〇〇 | 開発部 |
0002 | ▲▲ | 開発部 |
0003 | ×× | 営業部 |
上記のUPDATE文実行後、社員番号0002の▲▲さんは運用部から開発部に異動になりました。
データの削除(DELETE)
テーブルにデータを削除するにはDELETE文を使います。
基本構文は以下の通りです。
DELETE FROM テーブル名;
実際に社員データを削除するとこんな感じになります。
DELETE FROM 社員 WHERE 社員番号 = '0002';
社員番号 | 社員名 | 部署 |
0001 | 〇〇 | 開発部 |
0003 | ×× | 営業部 |
上記のDELETE文実行後、社員番号0002の運用部から開発部に異動した▲▲さんは退職することになりました。
まとめ
今回はデータベースとSQLの基本について簡潔にまとめてみました。
SQLの基本操作はよく使うので身に付けて損することはないと思います。
実際に書いて動かしてみないとイメージが湧かないと思うのでぜひSQLを書いて動かしてみてください。
文:開発部kami