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

プログラミングを始めたばかりの方はSQLという言葉を耳にしたことがない方もいらっしゃるかもしれません。また、もし聞いたことがあるとしても「データベース言語って難しそう…」と一歩引いてしまう気持ちがあるのではないでしょうか。

HTMLやCSSなどのマークアップ言語と比べると、概念的な要素が多く、目に見えないデータベースを操作しなければいけないため、なかなか身近に感じることができないという気持ちは分かります。

しかし、私たちが普段使用しているウェブサイトやアプリなどの多くがSQLを使用して動作しているということもまた事実。実はとても私たちに身近な存在なのです。SQLはプログラミングを学ぶ上で、理解しておくことが望ましい言語なのですね。

そこで今回の記事では、プログラミング初心者の方でもSQLがより身近に感じられるような解説を進めていきます。SQLを駆使して、WEBアプリケーションを思ったように開発できるようにしていきましょう。

本記事の要点
  • SQLの概要
  • SQLでできること
  • SQL文法の種類

SQLとは

ここまでSQLという言葉が何度も登場しましたが、まだSQLという言葉自体に馴染みがない方もいらっしゃるかもしれません。SQLを分かりやすく表現するとデータベースに格納されているデータを操作したり、定義したりすることができる言語のことです。

例えば、以下のようなシチュエーションでSQLを使用することがあります。

SQLという聞いたことがない単語になると身近に感じることができませんが、私たちがウェブサイトやアプリを利用する上でSQLという言語はとても身近な存在です。利用者としての目線で言えば上記の例で十分ですが、実際にプログラミングを行う際には、「ブログ投稿機能を作りたい」「サイトのおすすめ記事検索機能を実装したい」というようなシチュエーションが出てくるはずです。

このようなシチュエーションで使用できるのがSQL。そう考えると、プログラマーとしては必須の知識だということもできそうですね。

ポテパンダの一言メモ

SQLはStructured Query Languageが省略されたものです。難しそうな英語ですが、日本語で「構造化照会言語」と言い表すことができます。

SQLでは、データベースが蓄積されるテーブルを操作することになるのですが、このテーブルがまさにデータを構造化するものであり、その構造化されたテーブルからデータを照会することができるものがSQLというわけですね。

なかなか目に見えにくい存在のため理解しにくい部分もあるのですが、SQLとはデータを構造化して照会できるものなのだと考えると、イメージがしやすいのではないでしょうか。

SQL文法の種類

先ほどSQLでできることについて、実際の例を挙げてご説明をしていきました。こちらでは、具体的にSQL文法の3種類である

について詳しく見ていくことにしましょう。

データ定義言語

データ定義言語とは、データベースの構造を定義することができる言語のことです。具体的にはデータを作成したり、削除したりする役割を持っているのがデータ定義言語です。もう少し具体例を挙げるとすれば

などがデータ定義言語で行うことができることとなります。そんなデータ定義言語における代表的なSQLコマンドを見ていきましょう。

CREATEコマンド

SQLのCREATEコマンドは、テーブルやドメイン、インデックスなどを新たに作成するためのステートメントです。最もよく使用されているCREATEコマンドはTABLE CREATEコマンドではないでしょうか。

新たにテーブルを作成する際には、このTABLE CREATEコマンドを使用することとなりますので、まだ知らないという方は覚えておきましょう。

CREATE TABLE cars(
    id INT(8) AUTO_INCREMENT NOT NULL, 
    color VARCHAR(30) NOT NULL ,
    size INT(3) NOT NULL,
    PRIMARY KEY (id));

CREATE TABLE文は上記のようなコマンドを使うことで実行されます。少し説明をしておくと、colorカラム、sizeカラムを持ち、idが主キーとなるcarsテーブルを作成するためのSQLコマンドということになります。慣れるまでは複雑に見えるかもしれませんが、実際にはカラム名と主キー、テーブル名を指定しているだけです。そう思って見てみるととても簡単ではないでしょうか。

ポテパンダの一言メモ

先ほどカラムという言葉が出てきましたが、このカラムというものはテーブルを情報ごとに分けるために設定されるものだと考えてください。

テーブルを1つの引き出しだと考えると、上着・ズボン・靴下などを別々に片付けるための引き出しだと考えるといいかもしれません。1つの引き出しに全ての衣類を入れていると整理がつきませんので、カラムを設定して、データをできるだけわかりやすく整頓しているわけです。

DROPコマンド

SQLのDELETEコマンドデータベースからオブジェクトを削除するためのステートメントです。具体的には、先ほどCREATE TABLEで作成したテーブルを削除するときなどに用いられることが多いです。

必要ではなくなってしまったテーブルを削除したいという時には、SQLのDROPコマンドを使用することとなるはずです。具体的には以下のような使い方をすることになります。

DROP TABLE cars;

先ほどのCREATEコマンドと比べると、非常にわかりやすいSQLコマンドですね。テーブル削除の際にはDROP TABLEに続けて、テーブル名を指定してあげれば簡単に削除することが可能となっています。

データ操作言語

データ操作言語とは、データベースを操作して、テーブルレコードを挿入したり、テーブルの中のデータを検索したり、更新したり、消したりすることができる言語のことです。まとめれば作成・検索・更新・削除(CRUD)という役割を持っているのがデータ操作言語です。もう少し具体例を挙げるとすれば

などがデータ操作言語で行うことができることとなります。そんなデータ操作言語における代表的なSQLコマンドを見ていきましょう。

INSERTコマンド

SQLのINSERTコマンドテーブルの中にデータを挿入するためのステートメントです。具体的には、先ほどCREATE TABLEで作成したテーブルに、具体的なデータを登録したいという時に使用することができるSQLコマンドですね。

 INSERT INTO cars (color, number) VALUES ('red', 123456);

SQLのINSERTコマンドにおける基本構文は、「INSERT INTO {TABLE_NAME} (COLUMN_NAME1, COLUMN_NAME2, …) VALUES (VALUE1, VALUE2, …」というものです。

テーブル名とカラム名を指定し、そのあとにカラムに挿入したい具体的なデータをVALUESの後に付け加えていくという流れですね。

データ制御言語

データ制御言語とは、データベースへのアクセス制御を行うことができる言語のことです。まとめればデータベースに接続するユーザー権限を与えたり、逆に剥奪したりするという役割を持っているのがデータ制御言語です。そんなデータ制御言語における代表的なSQLコマンドを見ていきましょう。

GRANTコマンド

SQLのGRANTコマンドは、ユーザーにテーブル操作の権限を与えるためのステートメントです。例えば、あるユーザーにはテーブルレコードの挿入権限を与えたり、他のユーザーには削除する権限を与えたり、ということがGRANTコマンドによって可能となります。

GRANT UPDATE ON cars TO ‘Taro’;

これでTaroというユーザーにcarsテーブルの更新(UPDATE)をする権限が与えられました。全てのユーザーに作成・更新・削除などの権限を与えてしまうとリスクがありますので、このようにユーザーごとに権限を与えると良いですね。

まとめ

そこで今回の記事では、プログラミング初心者の方でもSQLがより身近に感じられるような解説を進めていきました。SQLを理解すれば、さらにWEBアプリケーションを思ったように開発できるようになるはずです。

今回の記事ではSQLの概要をご紹介していきましたので、次はさらに深くSQLコマンドなどについても学んでみてくださいね。

【関連記事】
▶︎【こんな使い方も?】SQL insertの使用方法を徹底的に解説
▶︎【意外と知らない?】SQL unionの使い方をわかりやすく説明
▶︎【意外と知らない?】SQL unionの使い方をわかりやすく説明

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

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

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

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

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

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

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

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

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

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

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