D2Cスマイル

SHARE

スマイルを共有する

Facebook
Twitter
google+
はてなブックマーク
このエントリーをはてなブックマークに追加
デジタルマーケティングの総合オピニオンサイト
HOME > Excelより使えるMySQL入門:データ抽出編
2016/10/18
関連タグ
2016/10/18

Excelより使えるMySQL入門:データ抽出編

D2Cビジネス・インテリジェンス部の梅本です。

 

突然ですが、日々の業務中、Excelで扱えきれない何百万行のデータを処理しなければならなく困ったことや、数十万行のデータをvlookup関数で処理したらExcelが止まったことなどありませんか。

 

そのようなお悩みを解決するための1つの手段としてSQL(Structured Query Language/エスキューエル・シークェル)が挙げられます。
これにより、処理できるデータ量が大きくなり、Excelで扱えなかった104万行を超えるデータの処理・集計やvlookup関数のようなデータ結合処理も数秒で行うことが出来ます。

 

 

MySQLのインストール

今回利用するデータベースはMySQL(マイエスキューエル)です。
MySQLはOracle社の製品で、世界で最もよく利用されているオープンソースのデータベースです。(MySQLのロゴキャラクターはイルカです。)
 

161018_00

インストールの方法は以下のURLを参考にしてみてください。

 

 MySQLのインストール方法説明ページ
 http://www.dbonline.jp/mysqlinstall/install/index2.html

 

 

MySQLの使い方

インストールが出来たらいよいよSQLを書いてみましょう。

 

MySQLを起動します。
スタートアイコン→プログラムとファイルの検索にMySQLと入力しMySQL 5.○ Command Line Clientを起動しましょう。
Enter Passwordは皆さんがMySQLインストール時に設定したものです。
Passwordを入力してEnterを押すと、以下の画面になります。

 

161018_01

開きましたらデモ用のデータベースを使って操作してみましょう。

 

次にworldというデータベースを選択します。
※データベースとはExcelでいうファイルのようなものです。

 
  mysql> use world;

 

と記述することで、データベースをworldに選択しました。

 

161018_02

続けて、

 
  mysql> show tables;

 

と記述することでデータベースworldの中にあるテーブル一覧を表示できます。
テーブルとはエクセルのシートのようなものです。

 

161018_03

Worldの中にはcity, country, countrylanguageの3つテーブルが入っています。
今回はcityテーブルを利用します。

 

SQLの基本的な構文は以下のようになっています。

 

 SELECT
    カラム名1、カラム名2、・・・
 FROM
    テーブル名
 WHERE
    抽出するデータの条件を記述

 

※カラムとはExcelでいう列名です。

 

SELECTとは自分が抽出したいカラムを意味します。
FROMはSELECTで抽出するカラムをどのテーブルから取得するかを意味します。
WHEREはデータを抽出する際の条件(Excelでいうフィルタ)を記述します。

 

 

SQL文を書いてデータを抽出してみよう

では、実際にSQL文を書いてみましょう。

 

今回はcityテーブルの中にあるID, NAME, CountryCode, Populationを抽出します
SQL文は以下のように書きます。

 

161018_04

 

と書きます。4,000行を超えるデータが出力されたと思います。
なので、WHERE句を利用して抽出するデータを絞り込みたいと思います。

 

161018_05

先ほどのSQL文にCountryCodeをJPNに指定する記述を加えます。

 

 

CountryCodeがJPNのみのデータが248レコード抽出されました。今回はデモデータでの紹介ですが、データ量が増えるにつれMySQLは処理スピード面で威力を発揮します。日常的に大量のデータを処理する方は導入を検討されたらいかがでしょうか。

 

今回はSQLの基本中の基本のみ説明を書きました。次回はvlookup関数のようなデータ処理であるJOINについて説明します。

関連タグ
関連記事 RELATED ARTICLES
このライターが書いた記事