ようこそ!

PostgreSQL のデータ操作関数

Brian Piccolo

Sr. Director, Digital Strategy

Sakilaデータベース

  • 非常に正規化されている
  • 代表的なデータ型
  • カスタム関数
PostgreSQL のデータ操作関数

トピック

  • PostgreSQL でよくあるデータ型
  • 日付と時刻の関数と演算子
  • テキストの解析と操作
  • 全文検索とPostgreSQL拡張機能
PostgreSQL のデータ操作関数

主なデータ型

  • テキストデータ型
    • CHARVARCHARTEXT
  • 数値データ型
  • 日付 / 時刻データ型
    • DATE, TIME, TIMESTAMP, INTERVAL
  • 配列
PostgreSQL のデータ操作関数

テキストデータ型

SELECT title 
FROM film
LIMIT 5
+-------------------+
| title             |
|-------------------|
| ACADEMY DINOSAUR  |
| ACE GOLDFINGER    |
| ADAPTATION HOLES  |
| AFFAIR PREJUDICE  |
| AFRICAN EGG       |
+-------------------+
SELECT description 
FROM film
LIMIT 2
+-----------------------------------------+
| description                             |
|-----------------------------------------|
| A Epic Drama of a Feminist And a Mad    |     
|  Scientist who must Battle a Teacher in |
|  The Canadian Rockies.                  |
| A Astounding Epistle of a Database      |
|  Administrator And a Explorer who       |
|  must Find a Car in Ancient China       |
+-----------------------------------------+
PostgreSQL のデータ操作関数

数値データ型

SELECT 
    payment_id 
FROM payment 
LIMIT 5
+-------------+
| payment_id  |
|-------------|
| 1           |
| 2           |
| 3           |
| 4           |
| 5           |
+-------------+
SELECT 
    amount
FROM payment 
LIMIT 5
+--------+
| amount |
|--------|
| 2.99   |
| 0.99   |
| 5.99   |
| 0.99   |
| 9.99   |
+--------+
PostgreSQL のデータ操作関数

既存のテーブルからデータ型を決定する

SELECT 
    title, 
    description, 
    special_features 
FROM FILM 
LIMIT 5
+---------------+------------------+------------------------------+
| title         |  description     | special_features             |
|---------------|------------------|------------------------------|
| ACADEMY D...  | A Epic...        | {Deleted Scenes,Behi...}     |
| ACE GOLD...   | A Astound..      | {Trailers,Deleted Scenes}    |
| AFFAIR PR...  | A Fanciful,..    | {Commentaries,Behind the...} |
+---------------+------------------+------------------------------+
PostgreSQL のデータ操作関数

既存のテーブルからデータ型を確認する

SELECT
    column_name, 
    data_type
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE column_name in ('title','description','special_features')
  AND table_name ='film';
+------------------+-------------------+
| column_name      | data_type         |
|------------------|-------------------|
| title            | character varying |
| description      | text              |
| special_features | ARRAY             |
+------------------+-------------------+
PostgreSQL のデータ操作関数

練習しましょう!

PostgreSQL のデータ操作関数

Preparing Video For Download...