Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

データベース言語の代表にSQLという言語があります。データベースを扱うためには、SQLのようなデータベース言語の習得が必要ですが、駆け出しエンジニアの方にとって習得のハードルが高いかもしれません。

そのため、今回の記事ではデータベース言語・SQLの入門的な解説を行いつつ、MySQLを使った実践的なハンズオンをご紹介していきましょう。

本記事の要点
  • データベース言語の概要
  • SQLの概要と基本的なコマンド
  • MySQLを使った実践的なハンズオン

データベース言語とは?

SQLの前にデータベース言語とは何かについて、簡単にご説明していきましょう。

その名前の通り、データベース言語とはデータベースを扱うために使用するコンピュータ言語のことです。データベース言語を使うことによって、データベースを扱うことができます。

ポテパンダの一言メモ

すでにデータベースという言葉を聞いたことがあるという人は多いでしょう。しかし、データベースとは何かについて理解していなければ「データベースを扱うための言語」という説明ではイメージがしづらいかもしれません。

ここでいうデータベースとは、複数のデータを整理して蓄積したデータの集合体のことです。そして、整理・蓄積されたデータを取り出す際に「データベース言語」を使用する必要があります。

データベース言語にも複数の種類があります。

まだSQLを扱ったことがない人からすると難しいかもしれませんが、実際にSQLを扱ってみると上記の内容も理解できますので、安心してください。

SQLについてさらに詳しく紹介!

今回ご紹介するSQLは、上記で説明したデータベース言語のうちの1つです。また、現在最もシェアの高いデータベース言語としてもSQLを挙げることができます。

なぜ、SQLが最も使用されるデータベース言語なのかというと、データ操作言語・データ定義言語・データ制御言語全ての役割を担うことができるからです。

SQLを理解できれば、データベースを扱うことができるということです。そのため、多くの人々に使用されるデータベース言語となったのです。

SQLで何ができるのか

SQLを使ってどのようなことができるかについて、基本的なものをコマンドとともにご紹介しましょう。

データベース・テーブルの作成・削除

データを整理・蓄積するためには、データを入れるデータベースと整理するテーブルが必要です。SQLを使うことで、データベースやテーブルを作成することや削除することが可能となります。

作成をする際にはCREATEコマンド、削除をする際にはDROPコマンドを使用します。

データベースの作成

CREATE DATABASE データベース名;

テーブルの作成

CREATE TABLE テーブル名(カラム名1 , カラム名2, カラム名3, ...);

データベースの削除

DROP DATABASE データベース名;

テーブルの削除

DROP TABLE テーブル名;

データベースを作成し、その中にテーブルを作成するため、データベースにデータを築成する際にはまず「CREATE DATABASE」から始める必要があることを覚えておきましょう。

ポテパンダの一言メモ

データベースとテーブルの関係について、「電話帳」に例えられることが多いです。電話帳は電話番号などの「データ」の集合体、つまりデータベースです。そして、テーブルは電話帳の中の表。電話番号などのデータを見やすいように整理しています。

データベースは仮想の存在のため、現実の何かと完全に一致することはありませんが、SQLを学び始めた段階では身近な物に例えることでイメージがしやすくなるでしょう。

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

データベース・テーブルの作成ができたら、SQLを用いてデータを登録することが可能となります。また、登録されたデータはSQLによって取得・削除・更新を行うことができます。

以下にデータの登録・取得・削除・更新を行う際の具体的なシチェーションをご紹介しましょう。

このように見ると、SQLは使っていないにしてもブログやSNS、インターネットショップなど色々な場面でデータを操作しているということが分かるはずです。自分が作成するアプリに上記のような機能を持たせる場合には、SQLを用いることがほとんどでしょう。

データの登録・取得・削除・更新に使用するSQLのコマンドを見てみましょう。

データの登録

INSERT INTO テーブル名 (カラム名1, カラム名2, ...) VALUE (値1, 値2, ...);

データの取得

SELECT カラム名 FROM テーブル名;

データの削除

DELETE FROM テーブル名;

データの更新

UPDATE テーブル名 SET カラム名1 = 値1, カラム名2 = 値2, … ;

ちなみにDELETEやUPDATEを行う際には、「削除したいデータ」「更新したいデータ」があるはずです。どのデータかを指し示す際には「WHERE」という条件付けを行う必要があります。このWHEREがない状態で、上記の例のようにSQLコマンドを入力した場合、テーブル内の全てのデータが削除・更新されることに気をつけましょう。

「WHERE」で条件付けをする場合

DELETE FROM テーブル名 WHERE 条件;
UPDATE テーブル名 SET カラム名1 = 値1, カラム名2 = 値2 WHERE 条件;

実践編!MySQLを使ってSQLを体験してみよう

最後にSQLで扱えるデータベースMySQLを使用して、SQLを体験してみましょう。

MySQLのインストール・接続

まだMySQLをインストールしていない場合は、インストールしましょう。

$ brew install mysql

MySQLのインストールが終了したら、接続します。

$ sudo mysql -u root -p

データベースの作成

まずはデータベースをMySQL上に作成し、使用するデータベースを指定しましょう。

mysql> CREATE DATABASE potepan;
Query OK, 1 row affected (0.00 sec)

mysql> USE potepan;

テーブルの作成

作成したデータベース内に、テーブルを作成してみましょう。

mysql> CREATE TABLE foods(food_id INT, name VARCHAR(50), price VARCHAR(50));               
Query OK, 0 rows affected (0.00 sec)

これでfoodsという名前のテーブルがデータベース上に作成されました。テーブル構造を見るには「DESC」というコマンドが使用できます。

mysql> desc foods;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| food_id | int(11)     | YES  |     | NULL    |       |
| name    | varchar(50) | YES  |     | NULL    |       |
| price   | varchar(50) | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

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

最後にテーブル上にデータの登録・取得・更新・削除を行ってみます。

データの登録

mysql> INSERT INTO foods(food_id, name, price) VALUE(1, 'Banana', '100');
Query OK, 1 row affected (0.00 sec)

データの取得

mysql> SELECT * FROM foods;
+---------+--------+-------+
| food_id | name   | price |
+---------+--------+-------+
|       1 | Banana | 100   |
+---------+--------+-------+
1 row in set (0.00 sec)

「*」には「全て」という意味があります。

データの更新

mysql> UPDATE foods SET food_id = 2, name = 'Apple', price = '200';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

ちなみに、この段階でデータの取得をしてみると以下のように表示され、更新されたことがわかります。

mysql> SELECT * FROM foods;
+---------+-------+-------+
| food_id | name  | price |
+---------+-------+-------+
|       2 | Apple | 200   |
+---------+-------+-------+
1 row in set (0.00 sec)

データの削除

mysql> DELETE FROM foods;
Query OK, 1 row affected (0.00 sec)

WHEREを使用していないため、テーブル上の全てのデータが削除されています。SELECT文で確かめてみましょう。

mysql> SELECT * FROM foods;                                                                
Empty set (0.00 sec)

まとめ

今回の記事ではデータベース言語・SQLの入門的な解説を行いつつ、MySQLを使った実践的なハンズオンをご紹介していきました。

SQLはターミナルから操作することが多いためハードルが高いと感じる人もいるかもしれません。しかし、SQLを扱えるようになることでデータベースを持ったアプリ開発など、できることが一気に広がります。今回の記事をきっかけに、ぜひSQLを扱えるようにしていきましょう!

【関連記事】
▶︎SQLの基本とも言えるテーブル結合、その種類と使い方について解説
▶︎【実例で学ぶ】SQL「UPDATE」文の使い方 基礎・応用編
▶︎SQLコードの意味がわからない…不思議なSQLコードサンプル集

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。