SQLは簡単?使いこなすための基礎・書き方を徹底解説!


SQLを簡単に学ぶ方法はないかなぁ・・・
SQLの基礎知識や具体的な書き方が知りたいなぁ・・・

SQLを学ぼうと思っても、入門書や入門サイトは情報量が多いですよね。「もっと簡単に学べる方法はないかなぁ...」と持っている方もいるのではないでしょうか。学べば奥が深いSQLですが、基礎を覚えて自分で書けるような環境を作れば、学習はとても楽になります。

こんにちは!フリーランスエンジニア兼テックライターのワキザカです。

この記事では、SQLを簡単に使いこなすための基礎・書き方について解説します!

基礎だけでなく応用スキルの学び方も最後にまとめているので、ぜひ最後まで読んでみてくださいね!

この記事はこんな人のために書きました。

  • SQLの書き方を知りたい人
  • SQLの基礎知識が知りたい人
  • SQLを簡単に学ぶ方法を知りたい人

SQLを簡単に使いこなすためには基礎が重要

SQLを簡単に使いこなすためには、基礎が重要です。ただ、基礎と言っても範囲が広いので、「どこまでが基礎?」と思っている人も多いのではないでしょうか。

そこでまず、基礎で覚えておくべき知識について簡単に解説しますね。大きく分けて以下の2つを覚えておけばOKです!

基礎で覚えておくべき知識

  • データベースの基礎
  • SQLの基礎

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

データベースの基礎

データベースの概要・構造

SQLはデータベースを操作する言語です。そのため、データベースとはなんぞや?というところをまずは覚えておかなければなりません。

データベースとは、大量のデータを高速に検索・更新できるデータの集まりです。アプリ開発のデータ操作ではほぼ必ず使われているので、覚えておくのがおすすめです。

データベースは、以下の構造でデータができています。


データベース構造のイメージ

データベースの中に複数のテーブルがあり、テーブルには1行(1レコード)ずつデータがあります。

そのため、データベースの環境を作ったら、まずはテーブルを作るところからスタートです。テーブルができたらレコードを追加したり、テーブルからデータを取得するSQLを書いていく流れになります。

データベースの種類

データベースには、いくつか種類があります。

データベースの種類の例

  • MySQL
  • Oracle
  • SQL Server
  • PostgreSQL

「どれを選べばいいの?」と思う方もいるかもしれませんが、始めてデータベースを使うならMySQLがおすすめです。

無料で使えますし、環境構築もとても簡単です。また、ネットに情報も多く、困った時でも調べれば解決しやすいです。

データベースの種類については以下でも詳しく解説しています。もっと詳しく知りたい方は、見てみてくださいね。

【初心者も5分でわかる】データベースの種類とは?概要や特徴まとめ!
更新日 : 2019年5月3日

SQLの基礎

次に、SQLの基礎について解説します。

SQLは、大きく分けて以下の2つがあります。

SQLの2つの種類

  • DDL
  • DML

DDLは、データベース・テーブルを操作するための文法です。以下のような書き方があります。

DDLのSQL文の例

  • CREATE文:データベース・テーブルの作成
  • ALTER文:データベース・テーブルの定義変更
  • DROP文:データベース・テーブルの削除

DMLは、テーブルのレコードを操作するための文法です。以下のような書き方があります。

DMLのSQL文の例

  • SELECT文:レコード検索
  • INSERT文:レコード挿入
  • UPDATE文:レコード更新
  • DELETE文:レコード削除

始めてSQLを書くなら、「テーブルをCREATE文で作成 → INSERT文でレコードを挿入」が最初のステップですね。レコード挿入ができたら、SELECT文でレコードを検索して表示したり、UPDATE文でレコードを更新できます。

まずは、ざっくりとDDLとDMLのイメージを持っていただければOKです。具体的な書き方は後ほど解説しますね。

SQLを簡単に実行する方法とは?

次に、SQLを実行する環境について解説します。

SQLを実行する方法は、大きく分けて以下の2つです。

SQLを実行するための2つの方法

  • Web版実行環境「paiza.io」を使う
  • パソコンに開発環境をセットアップする

「paiza.io」を使えば、簡単にSQL実行環境を作ることができます。アカウント登録だけなので、すぐにSQLを試したい方におすすめです。

引用:paiza.io https://paiza.io/ja

ただ、アプリ開発するときは、パソコンにセットアップしたデータベース環境を使うのが大半です。そのため、MySQLのインストールをしておくことがおすすめです。

MySQLのインストール方法は、以下で詳しく解説しています。インストールしたい方はぜひ見てみてくださいね。

【初心者向け】MySQLのインストール方法について徹底解説!
更新日 : 2018年12月25日

【SQLの超基礎】「SELECT文」の使い方とは?

ここからは、SQLの超基礎的なSELECT文の使い方を解説します。

SELECT文の基礎的な書き方

まず、SELECT文の基礎的な書き方について解説しますね。

SELECT文の書き方は、以下のとおりです。

SELECT文の書き方:

-- SELECT文の書き方
SELECT
  結果に表示する列名
FROM
  テーブル名
WHERE
  条件式;

SELECTの直後は、結果に表示する列名を指定します。アスタリスク(*)を入れると、全てを表示することが可能です。

FROMはテーブル名で、WHEREは条件式です。条件がないときはWHEREは不要になりますが、セットで覚えておくのがおすすめです!

SELECT文のサンプル

次に、SELECT文のサンプルを元に解説します。

今回は、以下テーブルを作成・レコード挿入してから、SELECT文を実行する流れで進めますね。


今回のサンプルに使うデータのイメージ

SQLは、以下のとおりです。

-- CREATE文でusers_listテーブル作成
CREATE TABLE `users_list` (
    `id` INT(11),
    `name` VARCHAR(50),
    `age` INT(11),
    `created_at` DATE,
   `updated_at` DATE
);

-- INSERT文でレコード挿入
INSERT INTO users_list(id,name,age,created_at,updated_at) VALUES(1,'侍1',18,'2019/7/1','2019/7/26');
INSERT INTO users_list(id,name,age,created_at,updated_at) VALUES(2,'侍2',22,'2019/7/1','2019/7/26');
INSERT INTO users_list(id,name,age,created_at,updated_at) VALUES(3,'侍3',25,'2019/7/1','2019/7/26');
INSERT INTO users_list(id,name,age,created_at,updated_at) VALUES(4,'侍4',26,'2019/7/1','2019/7/26');
INSERT INTO users_list(id,name,age,created_at,updated_at) VALUES(5,'侍5',27,'2019/7/1','2019/7/26');

-- SELECT文でレコード検索
SELECT
  *
FROM
  users_list;

CREATE文でid、name、age、created_at、updated_atをそれぞれ指定し、users_listテーブルを作成しています。その後、INSERT文でデータを登録し、SELECT文にアスタリスク(*)を指定して全てのデータを取得しています。

テーブル作成・レコード挿入さえできていれば、簡単にSELECT文でデータを取得できるのです。

CREATE文、INSERT文の使い方を詳しく知りたい方は、以下がおすすめです!

【MySQL入門】CREATE TABLE文でテーブルを作成する方法
更新日 : 2019年6月18日
【MySQL入門】INSERT文を使いこなす!基本からSELECT句まで一挙紹介
更新日 : 2018年12月25日

SELECT文を覚えたらレコード更新方法を学ぼう

SELECT文の使い方を覚えたら、レコード更新方法を覚えておくのがおすすめです!

レコード更新に使うUPDATE文、データ削除に使うDELETE文はよく使います。基礎的な使い方からでいいので、以下を見ながらぜひ使ってみてくださいね!

【SQL】これで完璧!UPDATE文の重要テクニックを一覧まとめ
更新日 : 2019年4月28日
【SQL】1分でわかるDELETEでのデータ削除方法!安全に削除するには?
更新日 : 2019年4月1日

まとめ

今回は、SQLを簡単に使いこなすための基礎・書き方について解説しました。

いきなり深く学ぼうとすると難しいですが、難しく考えずDDL・DMLの簡単なところから覚えていけばOKです!

今回解説したCREATE文、INSERT文、SELECT文を自分で書いて実行できるようになれば、あとは1つずつ学んでいくだけです。ぜひ、簡単なSQLから始めてみてくださいね!

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

新卒入社したメーカー系のIT企業で、システムエンジニアとして約5年勤務。
Webアプリ、業務アプリ開発において、要件定義、設計、インフラ、製造、テスト、運用保守など、様々な経験あり。
また、侍ブログ編集部として、これまでに200記事以上の記事を執筆。
現在はフリーランスエンジニア兼テックライターとして活動中。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習やキャリアのお悩み、お気軽にご相談ください。