2018年11月18日日曜日

開発環境

Head First SQL ―頭とからだで覚えるSQLの基本 (Lynn Beighley (著), 佐藤 直生 (監訳)、松永 多苗子 (翻訳)、オライリージャパン)の2章(SELECT文 - 天賦のデータ検索)、エクササイズ(p. 59).を取り組んでみる。

コード(Emacs)

Python 3

#!/usr/bin/env python3
import psycopg2 as sql

conn = sql.connect(database='gregs_list', user='kamimura')
cursor = conn.cursor()

_sql = '''
CREATE TABLE IF NOT EXISTS easy_drinks (
drink_name varchar(20),
main varchar(20),
amount1 real,
second varchar(20),
amount2 real,
directions text)'''

cursor.execute(_sql)

_sql = 'INSERT INTO easy_drinks VALUES (%s, %s, %s, %s, %s, %s)'
values_list = [
    ('ブラックソーン',
     'トニックウォーター', 1.5,
     'パイナップルジュース', 1,
     '氷と一緒にかき混ぜ、濾してカクテルグラスに入れ、レモンを一搾り加える'),
    ('ブルームーン',
     'ソーダ', 1.5,
     'ブルーベリージュース', 0.75,
     '氷と一緒にかき混ぜ、濾してカクテルグラスに入れ、レモンを一搾り加える'),
    ('オーマイゴッシュ',
     '桃果汁', 1,
     'パイナップルジュース', 1,
     '氷と一緒にかき混ぜ、濾してショットグラスに入れる'),
    ('ライムフィズ',
     'スプライト', 1.5,
     'ライムジュース', 0.75,
     '氷と一緒にかき混ぜ、濾してカクテルグラスに入れる'),
    ('キスオンザリップス',
     'チェリージュース', 2,
     'あんず果汁', 7,
     '氷の上に注いで、ストローを付ける'),
    ('ホットゴールド',
     '桃果汁', 3,
     'オレンジジュース', 6,
     '熟したオレンジジュースをマグカップに注いで、桃果汁を加える'),
    ('ローンツリー',
     'ソーダ', 1.5,
     'チェリージュース', 0.75,
     '氷と一緒にかき混ぜ、濾してカクテルグラスに入れる'),
    ('グレイハウンド',
     'ソーダ', 1.5,
     'グレープフルーツジュース', 5,
     '氷の上に注いで、よく混ぜる'),
    ('インディアンサマー',
     'アップルジュース', 2,
     'ホットティー', 6,
     'ジュースをマグカップに加え、ホットティーで仕上げる'),
    ('ブルフロッグ',
     'アイスティー', 1.5,
     'レモネード', 5,
     '氷の上に注いでライムを一切れ加える'),
    ('シーダアンドイット',
     'ソーダ', 2,
     'グレープジュース', 1,
     '氷を入れずに、カクテルグラスでシェイクする')]

for values in values_list:
    cursor.execute(_sql, values)

conn.commit()

_sql = 'select * from easy_drinks'
cursor.execute(_sql)
for row in cursor.fetchall():
    print(row)

cursor.close()
conn.close()

入出力結果(Terminal, Jupyter(IPython))

$ ./sample1.py
('ブラックソーン', 'トニックウォーター', 1.5, 'パイナップルジュース', 1.0, '氷と一緒にかき混ぜ、濾してカクテルグラスに入れ、レモンを一搾り加える')
('ブルームーン', 'ソーダ', 1.5, 'ブルーベリージュース', 0.75, '氷と一緒にかき混ぜ、濾してカクテルグラスに入れ、レモンを一搾り加える')
('オーマイゴッシュ', '桃果汁', 1.0, 'パイナップルジュース', 1.0, '氷と一緒にかき混ぜ、濾してショットグラスに入れる')
('ライムフィズ', 'スプライト', 1.5, 'ライムジュース', 0.75, '氷と一緒にかき混ぜ、濾してカクテルグラスに入れる')
('キスオンザリップス', 'チェリージュース', 2.0, 'あんず果汁', 7.0, '氷の上に注いで、ストローを付ける')
('ホットゴールド', '桃果汁', 3.0, 'オレンジジュース', 6.0, '熟したオレンジジュースをマグカップに注いで、桃果汁を加える')
('ローンツリー', 'ソーダ', 1.5, 'チェリージュース', 0.75, '氷と一緒にかき混ぜ、濾してカクテルグラスに入れる')
('グレイハウンド', 'ソーダ', 1.5, 'グレープフルーツジュース', 5.0, '氷の上に注いで、よく混ぜる')
('インディアンサマー', 'アップルジュース', 2.0, 'ホットティー', 6.0, 'ジュースをマグカップに加え、ホットティーで仕上げる')
('ブルフロッグ', 'アイスティー', 1.5, 'レモネード', 5.0, '氷の上に注いでライムを一切れ加える')
('シーダアンドイット', 'ソーダ', 2.0, 'グレープジュース', 1.0, '氷を入れずに、カクテルグラスでシェイクする')
$

0 コメント:

コメントを投稿