DEV Community

programmingMonky
programmingMonky

Posted on

PostgreSQLでSQL実行までのチュートリアル

本投稿ではPostgreSQLにアクセスし、

  • データベースの作成
  • テーブルの作成
  • データの投入
  • SQLの実行

を行います。

まだPostgreSQLをお持ちでない方は以下の記事

PostgreSQLを導入する方法

を参照にWindowsにPostgreSQLを導入してください。

pgadmin起動

本投稿ではPostgreSQLのクライアントにGUIツールであるpgadminを利用します

スタートメニューなどでpgadminと入力するなどしてpgadminを起動してください。

起動画面

サーバー接続

初期からデフォルトで存在するサーバーに接続します。

Server>PostgreSQL 10を右クリックし、「Connect Server」を押してください。

connect

するとパスワードを入力する画面が出てくるので、
インストール時に設定したパスワードを入力してください。

https://thepracticaldev.s3.amazonaws.com/i/ropadw7o5064hvgcgo0k.png

パスワードを入力したら「OK」を押してください

サーバーに接続できました。

データベース作成

Browserに表示されているサーバーの「PostgreSQL 10」を右クリックし

Create>Database...

を選択してクリック。

選択

するとデータベースを作成する画面が出てくるので

作成画面

databaseの欄にデータベース名を入力してください。
今回はsampleとしました。

入力が終わったら「Save」をクリック

sampleというデータベースが作成されました。
Browserで確認できます。
データベース作成後

テーブル作成

では作成したsampleデータベースにさっそくテーブルを作成します。

テーブルはSQLによって作成します。
SQLの発行はQuery Toolsを使います。

sampleを右クリックし、「Query Tool」を選択してください。

aa

Query Toolのウインドウに以下のSQLを貼り付け実行ボタン(雷のマーク)をクリックしてください。

create table m_country(
  name_jp    varchar(255),                 -- 国・地域名
  name_eng   varchar(255),                 -- ISO 3166-1における英語名
  code       char(3) NOT NULL PRIMARY KEY, -- numeric
  alpha_3    char(3),                      -- alpha-3
  alpha_2    char(2),                      -- alpha-2
  region     varchar(255),                 -- 場所
  iso_3166_2 varchar(255)                  -- 各行政区分(ISO 3166-2)
);
Enter fullscreen mode Exit fullscreen mode

query実行

クエリを実行すると
ブラウザの

sample>Schemas(1)>public>Tables(1)配下に
SQLで作成したm_countryが出現するはずです。

country

データ投入

それでは作成したm_countryテーブルにデータを投入します。

Query Toolを使って以下のSQLを実行します。

https://github.com/programmingMonky/sample_SQL/blob/master/country_insert.sql

  • SQLが大きすぎるのでgithubのリポジトリ上に置きました。
  • このデータの出典は日本語版のWikipediaです。

SQLを実行してみよう

再びQuery Toolにアクセスし、テーブル内容を確認してみましょう

select * from m_country
Enter fullscreen mode Exit fullscreen mode

insertで入れたデータが確認できると思います。

内容確認

それではSQLでちょっと遊んでみましょう。
Query Toolで以下のクエリを打ち込みます

select code,name_jp,region,
count('1') over(partition by region) as num

from m_country
order by num
Enter fullscreen mode Exit fullscreen mode

クエリの内容は
地域ごとに類別し、少ない地域に属する国順に表示する。というものです。

※分析関数という難しい構文を使っているでSQL初心者の方は理解する必要はありません。

code name_jp region num
643 ロシア連邦 ロシア 1
010 南極 南極 2
470 マルタ 地中海地域 2
196 キプロス 地中海地域 2
074 ブーベ島 南極 2
666 サンピエール島・ミクロン島 北アメリカ 3
840 アメリカ合衆国 北アメリカ 3
124 カナダ 北アメリカ 3

南極にもカントリーコードが振られているという興味深いことがわかりました。

このよう本投稿に掲載した手順でPostgreSQL上に
データベースやテーブルを作成したり、
SQLでデータを扱えるようになりました。

皆様がWebアプリケーションを作成する際の参考になれば幸いです。

Latest comments (2)

Collapse
 
buinauskas profile image
Evaldas Buinauskas

I need subtitles.

Collapse
 
programmingmonky profile image
programmingMonky

thank you for commented!

sorry I have no time to translate this article.

this article explain that

  • how to use pgadmin(PostgreSQL GUI Cliant)
    • making database
    • how to create table
    • how to execute select statemtnt
    • try OLAP function

This article is for beginner.
May be you'll not excited.