【0から学ぶ】SQLを知らない人が最初に知るべき情報まとめ
  • facebookページ
  • twitterページ
  • 2019.09.09

    【0から学ぶ】SQLを知らない人が最初に知るべき情報まとめ

    プログラミングを始めたばかりの方は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種類である

    • データ定義言語
    • データ操作言語
    • データ制御言語

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

    データ定義言語

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

    • スタッフ1人1人のデータをデータベースに登録する(データの作成)
    • 退職したスタッフのデータをデータベースから削除する(データの削除)

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

    CREATEコマンド

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

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

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

    ポテパンダの一言メモ

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

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

    DROPコマンド

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

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

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

    データ操作言語

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

    • 図書館サイトで目当ての書籍情報について検索する(データの検索)
    • 新しいブログ記事を書いたので投稿する(データの挿入)

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

    INSERTコマンド

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

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

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

    データ制御言語

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

    GRANTコマンド

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

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

    まとめ

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

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

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


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料25万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE

    ポテパンおすすめ案件