データベース(MySQL)とSQLの理解

本章では一般的なデータベースの概念とMySQLの基本構造、SQLの概要と基本文法について解説します。
本章の目標
  • Databaseの概要を理解する
  • RDBMSの概要を理解する
  • SQLの概要を理解する
  • SQLの基本文法をおぼえる
  • MySQLの基本構造を理解する
ページの先頭へ
ページの先頭へ

1.Databaseとは

Database(DB)とは、複数のアプリケーションやユーザーによってデータが共有できるように整理された、データの集合体のことです。 DBには「階層型DB」「ネットワーク型DB」など、いくつか種類がありますが、現在では「リレーショナルDB」が主流となっています。
「リレーショナルDB」の仕組みについては「SQL基礎」で解説します。

ページの先頭へ

2.RDBMSとは

RDBMS(Relational DataBase Management System)とは、リレーショナルDBを管理するソフトウェアの総称を指します。 日本ではOracle社の「Oracle」が圧倒的なシェアを持ちますが、その他にもIBM社の「DB2」、Microsoft社の「SQL Server」「Access」なども使われています。 また近年では「MySQL」や「PostgreSQL」などをはじめとした、オープンソースのRDBMSを使用するケースが急速に増えています。 尚、本講座では「MySQL」を使用して学習を進めます。
ページの先頭へ

3.SQLとは

1. SQL概要

SQL(Structured Query Language)とは、リレーショナルDBを操作するための言語です。 SQLは大きく分けてデータ定義言語(DDL:Data Definition Language)、データ操作言語(DML:Data Manipulation Language)、 データ制御言語(DCL:Data Control Language)の3種類から構成されます。それぞれの意味については、後述します。

2. SQLの基本構文

SQLの軸となるのが「キーワード」です。キーワードとは、SQLにあらかじめ用意された命令のための語句です。 このキーワードに、テーブルの名前や列の名前といったデータなどを組み合わせたものを単位として、それらを複数組み合わせることでSQL文が完成します。 キーワードと列名等の組み合わせを「句」と呼びます。
本項で例として用いられている「SELECT」キーワードや「FROM」キーワードの内容については後ほど詳しく解説します。




1 語句の間は半角スペースで区切ります。
 半角スペースはいくつ付けても文法上問題ありません。また、半角スペースの代わりにTabを使うことも出来ます。
 しかし、半角スペースを1文字入れるのが一般的です。
 尚、全角スペースを入れると文法上エラーになりますので注意してください。

2 最後に「;」(セミコロン)を付けます。
 SQL文の最期には必ず「;」(セミコロン)を付けることになっています。「;」が付けられるまでは、
 SQL文にはまだ続きがあると見なされます。
 途中は改行してもOKです。

SELECT
●●
FROM
▲▲
;

SQL文はたとえ改行しても、「;」が登場するまではまだSQL文の続きがあると見なされますので、複数行に改行して記述することが可能です。
改行して記述する場合、半角スペース(もしくはTab)は記述不要になりますが、記述してもエラーにはなりません。そのため、インデント(字下げ)を設定することができます。

3 文字列は「'」(シングルクォート)で囲む
 SQLでは文字列は「’」(シングルクォート)で囲むことになっています。

SELECT
●●
FROM
▲▲
WHERE
■■=’test’
;

また、指定したい文字列に「’」が含まれている場合、「’」を重ねるという決まりがあります。例えば、「Let’s」という文字列を指定したい場合は、

Let’’s’

4 大文字と小文字は区別されません
 SQLの構文では、大文字と小文字は区別されませんので、全て大文字、全て小文字もしくは大文字と小文字が混在していても、
 文法上は同一と見なされます。但し、データ自体の指定は大文字と小文字が区別されますので注意してください。


※本講座では、キーワードは大文字で記載します。

ページの先頭へ

4.MySQLの基本構造

ここでは、MySQLの構造について学習します。

1. データベースとテーブル

MySQLは、いくつかのデータベースによって構成されています。また、各データベースは、テーブル(データの入れ物)、インデックス(データベースの索引)、ビュー(データの見せ方を示す情報)によって構成されています。
※インデックス、ビューの説明は、本講座では省きます。



2. 初期状態のデータベース

MySQLインストール後の初期状態では、以下の三つのデータベースが用意されています。
* mysqlデータベース
MySQLが動作するための基本的な情報(ユーザー情報など)を管理するためのデータベース
* information_schemaデータベース
MySQLの構成情報を管理するデータベースです。
* testデータベース
テスト用のデータベースで、中身はありません。

mysqlデータベースとinformation_schemaデータベースは、MySQLの動作には欠かせないデータベースですので、間違って削除などしないようにしてください。ユーザーのテーブル等もこのデータベースには作成しないようにしてください
ページの先頭へ

5.本章のまとめ

本章ではデータベース、RDBMS、MySQLの概要について説明しました。
まず大きな括りとしてデータベースがあり、その中にRDBMSがあり、様々なRDBMSの一つとしてMySQLが有ることを理解してください。
また、データベースを操作する言語であるSQLについて、その基本文法を詳述しました。
SQLの基本文法についてはこれからテキストを読み進め、実習をするにあたっての基礎となりますので、しっかりと理解し、おぼえるようにして下さい。

ページの先頭へ