【初心者向け】SQLとは?基礎知識を学んでデータベースを操作しよう!

SQLはデータベースのアクセスや定義をおこなうための言語です。1970年代にIBMによって開発され、国際標準化機構(ISO)で規格が統一されています。

SQLを学べば、世の中にあるほぼすべてのデータベースを操作できます。今回は初心者の方向けに、SQLやデータベースについてわかりやすく解説します。

データベース言語といえば「SQL」の一択

データベースを操作するための言語はSQL以外にもいくつかありますが、SQLは圧倒的なシェアを占めています。SQLが独占しているといっても過言ではありません。

SQLが支持される理由は、なんと言ってもISO(国際標準化機構)で世界標準化されていることです。異なるデータベースであっても大抵はSQLが使えるため、IT業界全体の共通言語となっています。これからデータベース言語を学ぶのであれば、SQLのみ学習すれば間違いないでしょう。

ただしSQLは、あくまでデータベースを操作するための言語です。SQL単体ではシステムやアプリケーションの開発ができない点を留意しておきましょう。

SQLは「対話型」・「埋め込み型」で操作する

SQLでデータベースを操作するには、対話型と埋め込み型の2つの方法があります。

対話型はWindows のコマンドプロンプトなどでSQL文を入力し操作する方法です。埋め込み型は、JAVAやC言語などのソースコードにSQL文を埋め込むことで、動的に操作する方法です。SQLだけでは動的に実行できませんが、ほかのプログラミング言語に組み込むことで、条件に応じてデータベースを操作できるようになります。

データベースとは?

データベースとは、特定の情報を集め使いやすい形に整理した「情報のかたまり」のことです。一般的にはコンピュータ上で格納された「情報のかたまり」をデータベース(DBMS)と呼びますが、紙で管理された名簿や仕入管理なども立派なデータベースです。

データベースを利用してデータを管理するメリットは、主に次の3点があります。

  • 膨大なデータをまとめて管理できる
  • 目的に応じてかんたんにデータを探せる
  • かんたんに編集して使える

コンピューター上のデータベースは、何百万件~何千万件という大量のデータも瞬時に整理できるのが最大のメリットです。大量のデータから欲しい情報だけを抽出したり編集したりできるツールが、SQLなどの「データベース言語」です。

SQLでできること

SQLでは、大きくわけると次の4つの操作ができます。

  1. データベース・テーブルを作成する
  2. データを検索する
  3. データを操作する
  4. テーブルを結合する

詳しく見ていきましょう。

データベース・テーブルを作成する

SQLでは、データベースそのものを新しく作成することができます。また、データベースに格納されたテーブルを追加したり削除したりできます。そのほか、テーブルのカラム数や型(文字列や日付など)を指定や、インデックス追加などもできます。

データを検索する

データベースに格納される数百万件~数千万件のデータも、SQLを使えば素早く検索できます。たとえば特定の文字列が入ったデータのみ抽出や、複数条件やあいまい検索も可能です。

抽出したデータは並び替えや一部のみ抽出なども可能です。

データを操作する

SQLはデータベースに格納されるデータ内容を変更することができます。たとえば商品単価を一律で1,500円→1,000円に変更したり、商品名を変更したりすることが可能です。変更は複数の条件を指定して一括で変更することができますが、重要なデータを変更する際は、バックアップを取っておくと良いでしょう。なお、SQLで変更をおこなった際、データ確定をする前であればキャンセルできます。

テーブルを結合する

SQLでは、異なるテーブルを結合して1つのテーブルを作成することができます。たとえば、「注文テーブル」と「商品テーブル」を結合して、商品情報が追記された注文テーブルがつくれます。テーブルを結合することで、各データが見やすくなったり、効率的にテーブルを読み込ませることができます。

予期しないトラブルは「トランザクション制御」が有効

データベースに処理をおこなう際、データ量が多いほど処理に時間がかかります。処理中に予期しないトラブルはつきもので、電源トラブルでパソコンが落ちたり、別のスタッフが異なる処理を実行してしまったり…。データベースの処理が途中で終了や上書きされると、データの中身がおかしくなってしまいます。

そこで有効なのは「トランザクション制御」という補助機能です。トランザクション制御はSQLに備わる機能であり、処理途中であってもすべての処理をキャンセルし、もとに戻すことができます。なお、更新が完了するとデータの復元はできなくなるので、処理をおこなう際は事前にバックアップをとるようにしましょう。

SQLを構成する3つの言語

SQLはDML、DDL、DCLの3つの言語から成り立っています。

言語正式名称内容
DMLData Manipulation Languageデータ操作言語
DDLData Definition Languageデータ定義言語
DCLData Control Languageデータ制御言語

それぞれ用途が異なりますので、詳しく解説します。

DML(データ操作言語)

DMLは、「データ操作言語」と呼ばれるSQLの命令です。たとえば、データベースのテーブル作成・削除、カラムの定義などを実行します。主なデータ操作言語は以下のとおりです。

データ操作言語命令の内容
SELECTデータベースからデータを取り出す
UPDATEデータベース内のレコード(行)を更新する
DELETE1つもしくは複数のレコードを削除する
INSERT1つもしくは複数の行を追加する
CALLストアドプロシージャやOracleストアドファンクションを呼び出す
LOCK TABLE表パーティションや表サブパーティションのアクセスを制限する
EXPLAIN PLANオプティマイザによって選択された実行計画を表示

DDL(データ定義言語)

DDLは、「データ定義言語」と呼ばれるSQLの命令です。データベースにテーブルを作成や、削除などを実行します。主なデータ定義言語は以下のとおりです。

データ定義言語命令の内容
DROP既存のデータベースオブジェクトを削除する
ALTER既に存在するオブジェクトの特性を変更する
CREATEデータベース管理システムの管理下にオブジェクトを新しく作成する
ANALYZEデータの並び順や配置などの統計情報を取得する
COMMENTテーブルやカラムにコメントを付ける
RENAMEテーブル名や列名などを「TAB_A」から「TAB_B」に変更する
REVOKEユーザーIDを削除し、特定のユーザーへの権限を取り消す

DCL(データ制御言語)

DCLは、データベースを制御し管理するための命令です。たとえばデータベースの利用者に対してデータの登録・削除・変更などをおこなう権限を与えたり、奪ったりできます。また、トランザクション処理において、変更や確定する際の命令にも使われます。主な命令文は以下のとおりです。

データ抑制言語命令の内容
COMMITトランザクションの処理を確定させる
ROLLBACKトランザクション中の処理を取り消して実行前の状態に戻す
SET TRANSACTION SAVEPOINTトランザクションを設定時の状態に戻せる印
SAVEPOINTトランザクション内に新しいセーブポイントを確立

SQLで操作できる代表的なデータベース4選

主要なデータベースの価格と特徴は次のとおりです。

データベース名価格特徴
MySQL無料(商用利用は有償)オープンソースのデータベース
PostgreSQL無料オープンソースのデータベース
Oracle Database42,000円~国内で圧倒的なシェアを誇る
Microsoft SQL Server / Access約28,000円($209)~業務システムでOracleの次にシェアを誇る

無料であれば「MySQL」か「Postgres」のいずれかを選べば間違いありません。MySQLはシンプルな設計で処理速度も早く、Postgresは機能が豊富で大規模なデータベースを扱いやすい特徴があります。データベースの利用目的に応じて選びましょう。

まとめ

近年は「ビックデータ」に注目されていますが、ビックデータは必ずデータベースに格納されており、SQLの操作は欠かせません。データの活用は小売業界の顧客分析にとどまらず、医療や農業など幅広い分野で蓄えられて活用の動きが見られます。非エンジニアであっても、SQLの知識が必須となる。そのような時代はすぐそこかもしれません。

SNSでシェアする

関連記事

None found

あらゆる業態・商材の
ECビジネスをトータルサポート
ECサイト構築はmakeshop