はじめに
今回、SQLについて学ぶ必要があった為、理解を深める為に記事作成する事にしました。
参考記事
https://hnavi.co.jp/knowledge/blog/sql/
https://geekly.co.jp/column/cat-webgame/1906_003/
SQLとは
SQLとはデータベースの操作をする言語であり、データベースの定義や操作を行う事が出来ます。
SQLはISO(国際標準化機構)で規格が標準化されており、他のデータベースでもほぼ同じように操作する事が可能となります。
SQLの種類について
SQLの種類は主に3つあり、データ定義言語 DDL(Data Definition Language)
とデータ制御言語 DML(Data Manipulation Language)
とデータ制御言語 DCL(Data Control Language)
となります。
データ定義言語(Data Definition Language)とは
データ定義言語はDDLと略され、CREATE
やDROP
、ALTER
などデータベースオブジェクトの生成や削除、変更を行うコマンドです。
[DDLの命令文]
CREATE: 新しいデータベースやテーブルなどのオブジェクトを定義する
JOIN: テーブル同士を結合する
DROP: 定義したオブジェクトを削除する
ALTER: 定義したオブジェクトの内容を変更する
TRUNCATE: データを全て削除する
データ操作言語(Data Manipulation Language)とは
データベース操作言語はDMLと略され、データベースを操作する為の構文です。目的語などと組み合わせて使用され、SQL関数と呼ばれる関数も使用出来ます。
[DMLの命令文]
SELECT: データベースを検索する
INSERT: データを挿入する
DELETE: データを削除する
UPDATE: データを更新する
データ制御言語(Data Control Language)とは
データ制御言語はDCLと略されデータへのアクセスを制御する構文です。ユーザーへのアクセス権の制御に使用されます。
トランザクションとはデータベースに対して行われる1つ以上の更新処理のことです。
[DCLの命令文]
GRANT: ユーザー権限を付与する
REVOKE: ユーザー権限を削除する
BEGIN: トランザクションを開始する
COMMIT: トランザクションを確定する
ROLLBACK: トランザクションを取り消す
データベースの種類について
データベースには様々な種類があり、オープンソースのデータベースやライセンス料の必要なデータベースもあります。
MySQL
MySQLは世界で最も有名なオープンソースデータベースです。一からサーバーを構築する際によく使用され、世界で最も利用されています。
PostgreSQL
PostgreSQLもオープンソースのデータベースであり、MySQLに並んで人気があります。
MySQLとPostgreSQLを比べた場合、違いとしては、大量のデータに対するSELECT
の処理が、MySQLよりもPostgreSQLの方が速いという特徴があります。
Oracle Database
Oracle Databaseは機能や動作速度、堅牢性に定評があり高機能ではありますが、高額な為大規模なデータ管理に使用される事が多いです。
多くの機能を使いこなすのに専門的な知識が必要であり、「ORACLE MASTERデータベース認定資格」などの試験もあります。
その他にもACCESSやSQLiteなど様々なデータベースがあります。
まとめ
簡単に言うとSQLはデータベースを操作するプログラミング言語で、MySQLなどのデータベースはSQLを扱うソフトウェアの名前と覚えておけば問題ないかと思います。
SQLは今後よく使用する事になると思うので、積極的に勉強していきたいと思います。