データベースを操作する言語である「SQL」。国際規格で標準化されているため、様々なデータベースで利用することができます。また、SQLは活用の幅も広いため、データベースに関わるエンジニアはもちろんですが、そうでなくても、SQLをスキルセットに加えることで、幅広いシーンで活用できる可能性があります。携わることのできる仕事の幅を広げるため、場合によっては今直面している業務の課題を解決するためにも、SQLの知識を習得することはおすすめです。
また、以前掲載した「SQLとは?種類やSQLを使う仕事など」では「SQLとは?」という疑問からSQLを使う仕事や関連する資格についてもご紹介しています。
「知らなかった?! SQLを速くするコツ」ではSQLチューニングに関して説明していますので、合わせてご一読ください。
今回は、「SQLには何ができるのか」「SQLの基本コマンドにはどんなものがあるのか」を、わかりやすく解説していきます。
SQLを用いることで、リレーショナルデータベースを操作できます。ここでは、活用例を交え、実際にどのようなことができるのか、を詳しく見ていきましょう。
リレーショナルデータベースには、大量の数字や文字が格納されています。それらのデータは、SQLコマンドにより閲覧・参照することができますが、専門知識が必要で、時間を要するのも事実です。
その解決策として、SQLを用いて、基幹システムやExcelと連携させる方法があります。Excel Visual Basic for Applications (VBA) などを用いることで、データの相関分析などが可能となり、柔軟な運用が可能になります。
企業の顧客データベースを、SQLを用いて作成したり、編集したりする作業です。
データベースに含まれる、顧客の個人情報や、購買履歴などの情報をSQLに呼び出し、マーケティングなどに役立てます。特定の条件の顧客を抽出し営業を行ったり、消耗品の交換時期を割り出してダイレクトメールを送信するなど、活用方法は様々です。
企業の事業におけるデータベースの活用は必須となっており、その運用には多くのケースでSQLが必要とされています。
大規模なウェブサイトやサービスの運営にも、リレーショナルデータベースとSQLが必要とされることがあります。
代表的なものに、ECサイトがあります。ECサイトは、販売する商品のデータベースと、顧客情報のデータベースがそれぞれ必要です。さらに、データベースと連携し、在庫数に応じて発注を行うシステムなどを使用する場合も、連携のためにはSQLが必要となります。
ECサイトは、世界中で実店舗に取って代わってシェアを伸ばしています。そのことからも、SQLの需要の大きさがわかります。
リレーショナルデータベースの操作は、SQLのコマンド(命令文)を打ち込むことで行います。
SQLには多種多様なコマンドがあり、また応用も様々ありますが、使用頻度の高い基本的なコマンドはそれほど多くなく、その内容も、エンジニアにとって決して難しいものではありません。
ここでは、使用機会の特に多いデータ操作のためのコマンドと、管理者向けのコマンドの中から、代表的なものを紹介します。
まずは、使用する機会が最も多いと考えられる、データ操作のための「DML(データ操作言語)」の基本コマンドです。
SELECTは、データベースからデータを取得するためのコマンドで、最も利用機会の多い、基本中の基本となります。
検索条件を指定して絞り込んだり、ソートしたりして、出力することができます。
テーブルから列を抜き出す
SELECT 列名 [表示用列名] FROM テーブル名;
重複を排除して選択する
SELECT DISTINCT 列名 FROM テーブル名;
条件を指定して抜き出す
SELECT 列名 FROM テーブル名 WHERE 条件式;
ソート(昇順・降順)
ORDER BY 列名
ORDER BY 列名 DESC
※DESCは降順
データの追加は「INSERT」コマンドで行います。
データをテーブルの一番下に挿入する
INSERT INTO テーブル名 VALUES (値, 値, …);
列名を指定してデータを挿入する
INSERT INTO テーブル名 (列名, 列名, …) VALUES (値, 値, …);
データの更新は「UPDATE」コマンドで行います。
条件と一致する列の値の更新
UPDATE テーブル名 SET 列名 = 値 WHERE 条件式;
データの削除は「DELETE」コマンドで行います。なお、メンテナンス時に大量削除をする場合は、「TRUNCATE」コマンドを用いた方が素早く削除できます。
条件と一致する行の削除
DELETE FROM テーブル名 WHERE 条件式;
次に、管理者向けとして代表的なコマンドを紹介します。
CREATE TABLE テーブル名 (列名 データ型, …);
「CREATE」コマンドは、管理者向けのSQLでは最も使われることの多いコマンドでしょう。上記はデータテーブルを作成する場合の例で、データベースを作成する場合は「CREATE DATEBASE」となります。
TRUNCATE TABLE テーブル名
テーブル内のすべてのデータを高速で削除します。削除は「DELETE」でもできますが、処理速度が遅くなります。「TRUNCATE」は、速度を落としたくないメンテナンス時などに使用します。
テーブルを空にするのではなく、テーブルそのものを丸ごと削除する場合に使用します。
DROP TABLE テーブル名
データテーブルにデータ列を追加・変更・削除したい場合に使うコマンドです。
テーブルに列を追加する
ALTER TABLE テーブル名 ADD
列名1 VARCHAR (10) DEFAULT ” NOT NULL
,列名2 VARCHAR (10) DEFAULT ” NOT NULL
テーブルから列を削除する
ALTER TABLE テーブル名 DROP COLUMN
列名1,列名2
今回は入門編として、SQLでできることと、SQLの基本コマンドの中から、代表的なものをご紹介しました。
SQLでは、データ分析、マーケティングへの活用、その他データベースを用いるシステム連携など、様々に利用されています。データ分析の一つを取ってみても、エンジニアだけが習得すべきスキルというだけでなく、販売戦略を組み立てる営業職や、販促プロモーションを実施するマーケター職など、データ分析によって計画、改善を行う職種においても有用なスキルともいえます。また基本的な操作であれば、それほど学習コストも高くないことも、エンジニアを含めた多様な職種の方が学習するには最適なスキルかもしれません。
ぜひ、この機会に自身のスキルセットを整理して、SQL習得を検討してみると良いでしょう。