photo
photo
  1. トップ
  2. システム開発
  3. 【SQL入門】データベース言語の基礎知識を学んでMySQL環境で実践しよう!

【SQL入門】データベース言語の基礎知識を学んでMySQL環境で実践しよう!

SQLは、データベースを管理するための言語です。

システム開発だけでなく、私たちの生活とデータベースは引き離せないものとなっており、様々な分野でデータベースが運用されています。

この記事では、SQLとは何か、データベースとは何かに加え、基本的な構文やサンプルコードを紹介しながら、SQLについて解説します。

SQLはデータベース言語のひとつ

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

データベースへ指示を出す言語は「SQL文」と呼び、命令文を組み合わせて処理を実施します。またSQL文はANSIやISOが規格化しているため、「Oracle Database」「Microsoft SQL Server」「My SQL」などでもほぼ同じように利用できます。

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

なお、誰でも無料で使えるミドルウェア「MySQL」については、MySQLインストール方法の記事で紹介しています。併せてご覧ください。

コンピューター言語

そもそもデータベースとは?

データベースとは、管理しやすいように整理されたデータ群です。

検索や蓄積が出来るように設計されており、データの配置を規定する考え方をデータモデルといいます。

データモデルにはいくつかあり、主要なデータモデルの一つに「関係モデル(リレーショナルデータモデル)」があります。

「関係モデル」により設計されたデータベースを、関係データベース(リレーショナルデータベース)といい、これの頭文字を略して「RDB」といいます。

データベースにはそれを管理する「管理システム」があり、RDBの管理システムを「関係データベース管理システム(RDBMS)」と呼びます。

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

データベースのシェアを集計している「DB-ENGINES」によれば、2022年3月時点で、「Oracle」「MySQL」「Microsoft SQL Server」「PostureSQL」のシェアが高く、これらは全てRDBMSです。

2016年に登場した「Snowflake」は近年急激にシェアを伸ばしており、今後の動向が気になるデータベースです。

 

SQLでできること

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

  • データの条件検索

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

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

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

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

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

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

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

ダウンロード

 

SQLを構成する3つの言語の機能を解説

ここからはSQL文の代表的な命令文をみていきましょう。SQLの命令文はDDL・DML・DCLの3種類で構成されています。

DDL(データ定義言語)

DDLは、主にデータベースの定義や作成に関わる命令文です。

以下のような命令が代表的です。

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

DML(データ操作言語)

データの取得・登録・更新・削除などのデータ操作に関わる言語をDMLと呼びます。

よく使われる命令は以下の通りです。

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

DCL(データ制御言語)

DCLは、主にトランザクションの制御やデータベースへのアクセスを制御するためのコマンドです。

代表的な命令は以下の通りです。

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

どれもRDBの操作には不可欠な言語です。

SQL

【SQL入門】MySQL環境でデータベースの基本操作を学ぼう!

ここからは代表的なSQLである「MySQL」を例に、データベースの操作方法について解説します。

MySQLのインストールについては「MySQL入門者でもわかる!3ステップのインストール方法を解説」をあわせてご覧ください。

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

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

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

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

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

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

データの検索

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

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

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

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

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

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

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

データの追加

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

サンプルコードは以下の通りです。

データの更新

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

サンプルコードは以下の通りです。

データの削除

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

サンプルコードは以下の通りです。

 

今回は、SQLについて解説しました。

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

 

エンジニアに役立つ目的別講座

Pythonの基本~応用をマスター

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
現役シリコンバレーエンジニアが教えるPython入門講座。Python3の基本を取得できます。

Webサイトのコーディングができるように

ウェブ開発入門完全攻略コース - プログラミング をはじめて学び創れる人へ!未経験から現場で使える開発スキルを習得!
HTML, CSS, Bootstrap, JavaScript, MySQL, Ruby, Ruby on Rails, AWS Cloud9, Git, GitHubを用いたWebアプリケーション開発の方法を総合的に学べます。

AWSを基礎から学ぶ

これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(SAA-C02試験対応版)
AWSの基本資格「AWS 認定ソリューションアーキテクト – アソシエイト試験」を合格を目指し、そのための知識や経験を獲得できるように!

ITプロジェクトの資料作成はお任せ!

手を動かして学ぶITプロジェクトの資料作成!システム開発のドキュメンテーション技術と成果物テンプレート
ITプロジェクトの資料作成を学べる人気講座。フェーズ毎に、どんな資料を作ればいいのか悩んでいる人におすすめ。