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アプリケーションを作成する際の参考になれば幸いです。

Top 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.

Create an Organization Does your company have something to share with DEV?

Create an Organization and start sharing content with the community on DEV.