【SQL入門】データベース言語の基礎知識と実践方法を解説!

SQLでデータを処理したいものの、

・データベースの基礎知識が分からない…。
・SQLの使い方が知りたい…。

という方も多いのではないでしょうか。そこでこの記事では、

・SQLやデータベースとは何か
・MySQLの基本的な使い方

について、サンプルコードを交えて解説します。

SQLを使うのが初めての方でも、この記事を読めば、SQLの文法やデータベースの扱い方が身に付きます。

公開日:2024年5月29日

SQLとは?【データベース言語の1つ】

SQLとは、「Structured Query Language」の略で、直訳すると「構造化問い合わせ言語」という意味です。コンピュータ言語の一つですが、プログラミング言語ではありません。リレーショナルデータベース(RDB)のデータを操作するための言語です。

データベースへ指示を出す言語は「SQL文」と呼び、命令文を組み合わせて処理を実施します。SQL文はANSI(American National Standards Institute:米国規格協会)やISO(International Organization for Standardization:国際標準化機構)が規格化しています。そのため、別々のプラットフォームである「Oracle Database」「Microsoft SQL Server」「MySQL」などでもほぼ同じように利用できます。

SQLは対話型の操作でコンパイル不要なため、大量のデータを効率よく操作でき、使い勝手の良い言語です。

プログラミング言語との違い

データベース言語はプログラミング言語と異なり、システムの開発などはできません。

データの管理や検索に特化していて、簡単なコードで記述できることがデータベース言語の特徴です。一方、プログラミング言語では様々な方法でデータを処理するプログラムを作成できる分、コードは複雑です。

シンプルながら大規模なデータ処理をする場合はデータベース言語、複雑なデータ処理をする場合はプログラミング言語が適しています。

\文字より動画で学びたいあなたへ/

Udemyで講座を探す >

データベースとは?

データベースとは、管理しやすいように整理されたデータ群です。検索や蓄積が出来るように設計されており、データの配置を規定する考え方をデータモデルといいます。

いくつかあるデータモデルの中でも、「関係モデル(リレーショナルデータモデル)」は主要なモデルの一つです。関係モデルにより設計されたデータベースを、関係データベース(リレーショナルデータベース)といい、これの頭文字を略して「RDB」といいます。

データベースを運用するためには、データベースの管理システムが必要です。RDBの管理システムは、「関係データベース管理システム(RDBMS)」と呼ばれます。そして、RDBMSを通じてデータベースを操作するための言語が、SQLなどのデータベース言語です。

データベースは現在、商品情報の管理や、サービス利用者の情報管理など、様々な分野や状況で利用されています。

データベースのシェアを集計している「DB-ENGINES」によれば、2024年5月時点で、「Oracle」「MySQL」「Microsoft SQL Server」「PostureSQL」のシェアが高く、これらは全てRDBMSです。2016年に登場した「Snowflake」は近年急激にシェアを伸ばしており、今後の動向が気になるデータベースです。

コンピューター言語

SQLでできること

SQLでは次のような処理ができます。

  • データの条件検索

検索の際に詳細な条件を指定できます。効率よくデータを検索できるため便利です。

  • データの取得・登録・更新・削除

データの条件検索と組み合わせると、特定の行や列を指定してデータの取得が容易に実施できます。また登録や更新、削除も同様に指定の行にのみ実施できます。

  • テーブルの作成・削除・変更

テーブルとはデータを格納する表のことです。必要に応じてテーブルの作成・変更・削除ができるので、思い通りにテーブルを構成できます。

膨大な量のデータがRDBによって整理されているため、これらの処理も効率よく実施可能です。

命令のためのSQL文を頭に入れておく必要はありますが、一度、方法を覚えてしまえば、それ以降は容易に処理を実施できます。

SQLの主な機能の分類

SQLでは、多くの命令を用いてデータベースを操作します。SQLの命令は、機能別にDDL・DML・DCLの3種類に分類することが可能です。

ここでは、SQL文の代表的な命令文をみていきましょう。

DDL(データ定義言語)

DDLは、データベースの構造を定義するための命令文の総称です。DDLのコマンド群には、次のような命令文があります。

  • CREATE:データベースやテーブルの作成
  • DROP:データベースやテーブルの削除
  • ALTER:データベースやテーブルの変更
  • JOIN:テーブルの結合
  • TRUNCATE:テーブルのデータを削除

DML(データ操作言語)

DMLは、データベース内のデータを操作するための命令文の総称です。DMLのコマンド群には、次のような命令文があります。

  • SELECT:データ取得
  • UPDATE:データ更新
  • DELETE:データ削除
  • INSERT:データ挿入

DCL(データ制御言語)

DCLは、データベースのセキュリティとアクセス権限を管理するための命令文の総称です。DCLのコマンド群には、次のような命令文があります。

  • BEGIN:トランザクション開始
  • COMMIT:実行した処理の確定
  • ROLLBACK:データの戻し
  • GRANT:ユーザ権限付与
  • REVOKE:ユーザ権限剥奪

SQLの基本命令をMySQLで実践してみよう!

ここからは代表的なSQLであるMySQLを使って、データベースの基本操作を実践します。MySQLのインストールについては「MySQL入門者でもわかる!3ステップのインストール方法を解説」をご覧ください。

SQLの基本命令は以下の通りです。

  • オブジェクトを作成:CREATE
  • データの検索:SELECT
  • データの追加:INSERT
  • データの更新:UPDATE
  • データの削除:DELETE

それぞれ詳しく解説します。

オブジェクトを作成:CREATE

CREATEはオブジェクトを作成する命令です。

テーブルを作成する場合は、

以上のように記述します。

SQLは「;」までを1文と定義しますので、途中で改行しても問題ありません。

例えば、商品管理用のテーブル「商品管理」を作成したい場合は、次のように記述します。

  ID 商品名 値段
商品A      
商品B      
……      

データの検索:SELECT

テーブルからデータを取得する際に使用するのが「SELECT」です。

SELECTは以下のように使用します。

列の全てのデータを表示したい場合は、先の「商品管理」であれば、以下のように記述します。

また、列名に「*」を記述することで、全ての列を取得することができます。

条件式を利用して、条件に合ったデータを取得することができます。

このように記述することで、5000円以上の商品名を抽出することができます。

条件式は「AND」や「OR」演算子で複数記述することも可能です。

データの追加:INSERT

テーブルにデータを追加する場合は、「INSERT」を使用します。

サンプルコードは以下の通りです。以下のコードでは商品管理のテーブルに対してIDが「001」、商品名が「商品A」、値段が「1500」というデータを追加しています。

データの更新:UPDATE

データの更新には「UPDATE」を使用します。

サンプルコードは以下の通りです。以下のコードでは商品管理のテーブル内の「商品A」について、値段を「1000」に更新しています。

データの削除:DELETE

データの削除には「DELETE」を使用します。

サンプルコードは以下の通りです。以下のコードでは、商品管理のテーブルにあるIDが「001」のデータを削除しています。

SQLを学んでデータ分析に役立てよう

今回は、SQLの入門者向けに、データベースの基礎知識やSQLの使い方について解説しました。

SQLはデータベースを管理するための言語であり、大量のデータを扱うためには、SQLの習得が必須です。本記事を参考に、SQLへの第一歩を踏み出してみませんか?

SQLにさらについて詳しく学びたい方には、以下の講座がおすすめです。

Udemyおすすめ講座

はじめてのSQL ・データ分析入門 -データベースのデータをビジネスパーソンが現場で活用するためのSQL初心者向コース

はじめてのSQL ・データ分析入門 -データベースのデータをビジネスパーソンが現場で活用するためのSQL初心者向コース

4.3(6,596 件の評価)

43,173 人の受験生

作成者: 中村 祐太 Yuta Nakamura(ウェブ開発, 生成AI, ChatGPT, AWS)
Proglus (プログラス)(プログラミング入門)

MySQL 使用。エクセル作業からのステップアップ!データベースのデータを取得し、効果的にレポーティングしたいビジネスパーソンにおすすめ!データベースを操作する言語SQLを短期間で身につけビジネスの現場で使うための実践型カリキュラム。

\無料でプレビューをチェック!/

講座を見てみる

評価:★★★★★
基本的な構文問題がより実務で依頼されそうであろう想定に基づき出されており、そこからさらに自分でこういった場合はどうすれば抽出できるだろうといった観点が生まれ、SQLを考えることができました。それにより、学習効果が高まった気がします。また実務でのあるあるなどのコラムも楽しく学習させていただきました。

評価:★★★★★
一つ一つのセクションで実際にSQLを動かしながら学んでいくようにコースが組まれており、とても実践的に学ぶことができました。データ抽出指示も実際にオフィスで依頼されそうな内容で、仕事としてSQLを扱う場合のイメージがわきました。

SQLを習得して効率的にデータ管理をしましょう。