SQLとは?データベースを操る『案内人』

SQLとは?データベースを操る『案内人』

 

 

たかやん
PHPを覚えれば、データベースもいじれるの?

 

 

にゃんこ先生
ではないね。SQLという専用の言語を覚えないといけない。

 

 

たかやん
何?SQLって。なんだか難しそう・・・

 

 

にゃんこ先生
データベースを操るには必須言語だよ!

 

 

PHPを使っていると、部分的にデータベースから情報をとってきて、反映させたい場面に出会ったりします。

しかしPHPでは、データベースにアクセスすることはできても、データベース上で情報を検索したり情報をとってくることまでは、できません・・・

 

そんなときに使う言語がSQLです。このSQL(エスキューエル)とは、データベースを操るときに使う言語です。

SQLを使いこなすと、1万件・10万件・100万件といったような大量データを効率的に取得・更新・削除・追加することができるようになります。

 

しかし、

 

・SQLってなんだ?

・そもそも何ができるの?

 

と、疑問が浮かぶ人もいますよね。そこで、今回はSQLがどういった言語なのか?まとめてみました。

 

こんな人におススメ① SQLについて知りたい人

② データベースを使いこなしたい人

 

SQLとは?データベースを操る『案内人』

 

 

冒頭でも述べたように、データベースを扱うときにはSQLという専用の言語を使います。

しかし、SQLはプログラミング言語ではありません。

 

SQLはデータベースを操るための専用言語なのです。

 

よって、SQLは一般的に、プログラミング言語の中に忍ばせておいて、その中で動作させます。

もしくはデータベース上で指示を出すために、データベースにアクセスして直接SQL文を書き込んで動作させます。

 

なので、SQLを理解するにはまず、プログラミング言語とコンピューター言語の違いについて学んでおく必要があります。

 

 

 

プログラムを組む上での言語の扱いの違い

 

 

プログラムを組むときには様々な言語を使います。

それらを大きく分けると3つになります。

 

① プログラミング言語
② マークアップ言語/スタイルシート言語
③ コンピュータ言語

 

① プログラミング言語

プログラミング言語とは?コンピューターにデータ処理を命令するための言語

 

プログラムを動かすためにコンピュータに何かしらの指示を与えるための言語がプログラミング言語です。

通常、コンピューターは、0と1しか認識しません。

 

しかし、その0と1を人の手で打ち込むのってなかなかにつらいです。

そこで登場するのが、プログラミング言語です。

 

プログラミング言語は、人々が普段使う言葉を翻訳してコンピューターに自分たちがやりたいことを教えてくれるツールなのです。

 

自分たちがプログラム言語で書いた内容は、自動で翻訳され、コンピュータ側に伝わるというわけです。

その役割を果たすのがプログラミング言語です。

 

② マークアップ言語/スタイルシート言語

続いては、マークアップ言語とスタイルシート言語です。これら2つの言語も厳密にいえば、プログラミング言語ではありません。

 

マークアップ言語の代表といえば、『HTML』ですね。

 

マークアップ言語とは?文章の構造を決める言語

 

プログラミング言語と違い、マークアップ言語は、Webページなどに書いていく文章の構造を決めるための言語です。

 

技術の発達によりHTMLだけでWebページが組めてしまうので、勘違いする人がいますが、もともとHTMLはタイトルとか段落などの文章の構成を決めるための言語です。

 

文章の構成を決めても見た目は整理できません、そこで必要になるのがスタイルシート言語です。スタイルシート言語の代表といえば、『CSS』ですね。

CSSもHTML同様、プログラミング言語ではありません。

 

スタイルシート言語とは?作られた文章の見た目を整える言語

 

簡単に言えば、HTMLで文章の構成を考えたものに味付けをするのがCSSって感じです。

CSSも今のバージョンになってからできることが格段に増えています。

 

JavaScriptのような動きをつけたりもできるように進化しているため、プログラミング言語として認識されやすいです。

しかしできることは今ある文章の塊に対して、字の大きさや色を変えたり・文字を枠で囲ったりと、見た目を整えることです。

 

 

③ コンピュータ言語

そして最後がコンピューター言語です。

ぶった切る言い方をすれば、コンピューターを通してなにかプログラムを実行するのであれば、すべてコンピューター言語といえます。

 

現に『コンピュータ言語=プログラミング言語』の意味合いで使っている人もいます。

 

コンピューター言語は様々な形態があり、ある特定の環境下でしか動かない言語もあれば、汎用性が高いものもあります。

HTMLもコンピューター言語ですし、JavaやPHPも大きな意味ではコンピューター言語です。
分けると、きりがないのでここではここではあえて触れません。

 

このブログでは、①②に含まれない言語をコンピューター言語ということにします。

 

SQLでできること

 

 

ここまでくるとようやくSQLについてお話ができます。

SQLはコンピューター言語であり、主にできることは以下の3つです。

 

① データの条件検索
② データの取得・登録・更新・削除
③ テーブルの作成・削除・変更

 

① データの条件検索

データベースの中で自分が欲しい情報を検索することができます。

単純な検索だけでなく、詳細に条件をしてデータを検索することができるのでとても便利です。

 

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

データの条件検索と組み合わせて、データベースに登録されているデータの取得・登録・更新・削除が行えます。

こちらも先ほどと同様、条件を指定することで高度な処理が行えます。

 

③ テーブルの作成・削除・変更

また、SQLによって、テーブルの作成・変更・削除ができます。

 

テーブルとは?データを格納する表のこと

 

エクセルの表みたいなデータセットを作ることができるというわけです。

たとえテーブルの中のデータが膨大になろうと、RDBによって整理されているため、データの処理も軽快にやってくれます。

 

でもRDBとは何なのでしょうか?

 

RDBとは?リレーショナルデータベースのことで、互いに関連付けられた表にデータを格納して扱うデータベースのこと。

 

現在、一般的になっているデータベースシステムの一つがRDB(リレーショナルデータベース)です。データを入れておくための『箱』というイメージがしっくりきます。

 

この箱をSQLで作ることができるというわけです。

 

このようにデータベースを作ったり、作ったデータベースを操作することができるのが、SQLです。

データベースを操るにはSQL文を頭に入れておく必要がありますが、方法を覚えてしまえばあとは簡単に処理することができるようになります。

 

 

PHPと相性がいいSQL

 


 

ここまでで、SQLについてはざっくりとわかったと思います。しかし、SQL単体で使うことはほとんどありません。

これはHTMLなどと同じですね。

 

基本的には、他の言語と組み合わせて使います。様々な言語がありますが、SQLと相性がいいのはPHPです。

 

 

理由としては以下の2つがあります。

 

① PHPにはデータベースにアクセスするための準備が整っている

② PHPはサーバーサイドスクリプトなので、セキュリティが固い

 

① PHPにはデータベースにアクセスするための準備が整っている

もともとPHPにはデータベースとやり取りをサポートするコマンドが標準装備されています。

なので、データベースとの接続等のサポートをPHPで行い、実際のデータベースの中に入ってからの操作をSQLで行うことはよく使う手法です。

 

② サーバーサイドスクリプトなので、セキュリティが固い

もう一つの理由として、PHPがサーバーサイドスクリプトであるということです。

PHPは、サーバー側でプログラムを動かすので、データを扱うことことから考えてもセキュリティが固いものを選ぶのが、必然かなと思います。

 

データベースの中にある情報は機密情報も多いです。

そういった意味でも、PHPとSQLを組み合わせて使うことはぴったりというわけです。

 

 

まとめ

 

 

今回のSQLについてまとめます。

 

・SQLはデータベースを操るコンピュータ言語
・SQL単体ではプログラムは組めない
・PHPとSQLはタッグを組んで使うことが多い

 

SQLは単体で使うことはめったにありません。PHPなどのサーバーサイドスクリプトとタッグを組んで使用することが多いです。

PHP以外にも同じサーバーサイドスクリプトの『Ruby』や『Java』とタッグを組むこともあります。

 

データベースを操るというとかっこいいですが、、初めは操作になれるのが大変です。

しかし組み合わせ次第では、データベースを自由に作ったり、更新や変更したりできるようになるので、PHPを勉強したらSQLも一緒に勉強しておくと自分ができることが一気に広がります。

 

SQLもおすすめの言語です。

ぜひ勉強してみてはどうでしょうか?

 

では、今回はこのあたりであでゆ($・・)/~~~

 

プログラミングカテゴリの最新記事