派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

【基本情報技術者試験のトッカカリ】SQLの基礎のきそ

SQLは、関連データベース(リレーショナルデータベース)を操作するときに使われる言語です。

初心者のうちは、「頑張って全部覚えないといけない!」と、張り切りってしまいがちです。しかし、基本情報の試験はデータベース以外のジャンルもボリュームがあり、経験のない人や、データベースにさほど興味のない人が正攻法で学ぶには、少し大変な部分でしょう。

実際の試験内容に関する勉強は、専門書にお任せするとして、今回もSQL学習の「トッカカリ」となるようなお話をすることにします。

今日のニャゴロウ講座
SQL攻略の準備体操。

SQLとは

SQL(Structured Query Language)とは、関係データベース(リレーショナルデータベース)を操作するための言語です。DBMSは、その命令を受けて、データベースを操作します。

SQLでは、基本的に4つのことしかできません。①新しく増やすこと(CREATE/INSERT)、②消すこと(DROP/DELETE) ③変更すること(ALTER/UPDATE) ④取り出すこと(SELECT)です。それぞれ、一つずつ見ていきましょう。

①新しく増やす(CREATE/INSERT)

CREATE DATABASE…データベースを作る

CREATE TABLE…表(テーブル)を作る

INSERT…行(レコード)を追加する

データベースや表(テーブル)を作ったり、行(レコード)を新しく増やすことができます。データベースや表のときは「CREATE」、行のときは「INSERT」というコマンドを使います。

②消す(DROP/DELETE)

DROP DATABASE…データベースを消す

DROP TABLE…表(テーブル)を消す

INSERT…行(レコード)を消す

消す場合は、「DROP」と、「DELETE」を使います。

③変更する(ALTER/UPDATE)

ALTER DATABASE…データベースを変更する(名前や権限などを変更)

ALTER TABLE…表(テーブル)を変更する(カラムや名前などを変更)

UPDATE…行(レコード)を上書きする

データベースや、表の名前などを変更したい場合は、ALTERを使います。データベースの中身はテーブルであり、テーブルの中身はレコードなので、「データの内容を上書き」することはできません。変えられるのはあくまで「スキーマ(構造)」です。テーブルの中身を丸ごと上書きできたら便利なような気がしますが、そうした場合は削除して作り直します。

データ自体の中身を変えたいときは、レコードに対する命令としてUPDATEを使う必要があります。

④取り出す(SELECT)

SELECT…行(レコード)を取り出す

SELECTで、さまざまな取り出し方ができます。関係データベースにおいて、SELECTできることは、最もメリットが感じられるコマンドでしょう。

取り出しと対象となるのは、行(レコード)です。データベースや、表を取り出しはしません。また、実際は、列(カラム)単位で抜き出したり、表を合体させることもありますが、それは、対象となるレコードの該当する列を抜き出しているので、やはり行に対してしか命令できないのです。

SELECT文の基本

SELECT文の基本は「〇〇テーブルから、××列を取り出す」です。一番シンプルな形式は、以下のように書きます。

SELECT ×× FROM ○○

以下のような「住所録テーブル」から「社名」の列を取り出したいのであれば、このようになります。

SELECT 社名 FROM 住所録

これを基本として、条件をいろいろと付け足していきます。

たとえば、特定のレコードだけを取り出したい場合もあるでしょう。「住所録テーブルから、社名がフンボルト社と合致する行を取り出す」場合は、以下のように書きます。

SELECT * FROM 住所録 WHERE 社名='フンボルト社'

SELECTのところが「*(アスタリスク)」となっているのは、「全部取り出す」ことを意味しています。そして、社名がフンボルト社であることを指定するために「WHERE 社名='フンボルト社'」という条件を加えています。

試験によく出るのはSELECT文

説明の順番として、作る、消す、変更する、取り出しの順番で説明しましたが、じつは、一番試験で登場するのは、「SELECT」です。いろいろな取り出し方をするので、コマンドも多くなっています。

データベースでは、このほか、並び替えたり、表と表を合体させたりしますが、すべてSELECT文の一種です。日本の動物園や水族館で飼育されているペンギンのうち、大半は「フンボルトペンギン」という種類なのですが、SELECT文の問題もフンボルトペンギンと同じくらい多いのです!

ニャゴロウ先生のまとめ

データベースの基礎について、全3回で説明してきました。データベースとはどのようなものなのか、掴めてきたでしょうか。

データベースは、現在、システム構築をするうえで、なくてはならない知識です。実際にSQL文を書くプログラマや、設計する人はもちろんのこと、マネジメントをする人や、運用する人も知っておかねばなりません。

試験で問われる内容は、SQL文が中心ですが、試験を機に「データベースとはどういった役割なのか」を押さえることが、実務のスキルアップにも

繋がります。

データベースとは何なのか、理解しながら学ぶことが、試験合格へのトッカカリになるでしょう。

▼その他のデータベース編

ハードウェア編全3回

【筆者】小笠原 種高さん(ニャゴロウ先生)
技術ライター、イラストレーター。システム開発のかたわら、雑誌や書籍などで、データベースやサーバー、マネジメントについて執筆。図を多く用いた易しい解説に定評がある。主な著書に『なぜ?がわかるデータベース』(翔泳社)、『図解即戦力 Amazon Web Serviceのしくみと技術がこれ1冊でしっかりわかる教科書』『ゼロからわかるLinuxサーバー超入門 Ubuntu対応版』(技術評論社)、『仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん』(マイナビ出版)がある。

※本記事に記載されている会社名、製品名はそれぞれ各社の商標および登録商標です。