2014年8月3日日曜日

開発環境

Head First SQL ―頭とからだで覚えるSQLの基本 (Lynn Beighley(著)、 佐藤 直生 (監訳)、 松永 多苗子 (翻訳)、オライリージャパン)の3章(DELETE文とUPDATE文: 役に立つ変更)、自分で考えてみよう(p.155)を解いてみる。

自分で考えてみよう(p.155)

コード(BBEdit, Emacs)

sample155.py

#!/usr/bin/env python3
#-*- coding: utf-8 -*-

import sqlite3

connection = sqlite3.connect('drinks.sqlite')
cursor = connection.cursor()

def p(msg):
    print(msg)
    for row in cursor.fetchall():
        print(row)

def p_all():
    cursor.execute("""SELECT * FROM drink_info""")
    print(tuple(map(lambda header: header[0], cursor.description)))
    p('drink_info')

p_all()

cursor.execute("""
UPDATE drink_info
SET cost = cost + 1
""")

print("価格を1ドル値上げ")
p_all()

connection.commit()
connection.close()

入出力結果(Terminal, IPython)

$ ./sample155.py
('drink_name', 'cost', 'carbs', 'color', 'ice', 'calories')
drink_info
('ホットゴールド', 3.2, 32.1, '橙', 'N', 135)
('ローンツリー', 3.6, 4.2, '赤', 'Y', 17)
('インディアンサマー', 2.8, 7.2, '茶', 'N', 30)
('ブルフロッグ', 2.6, 21.5, '黄褐色', 'Y', 80)
('ソーダアンドイット', 3.8, 4.7, '赤', 'N', 19)
('キスオンザリップス', 5.5, 42.5, '紫', 'Y', 170)
('ブラックソーン', 3, 8.4, '金', 'Y', 33)
('グレイハウンド', 4, 14, '金', 'Y', 50)
('オーマイゴッシュ', 4.5, 8.6, '橙', 'Y', 35)
('ブルームーン', 3.5, 8.6, '青', 'Y', 35)
('ライムフィズ', 3.5, 5.4, '緑', 'Y', 24)
価格を1ドル値上げ
('drink_name', 'cost', 'carbs', 'color', 'ice', 'calories')
drink_info
('ホットゴールド', 4.2, 32.1, '橙', 'N', 135)
('ローンツリー', 4.6, 4.2, '赤', 'Y', 17)
('インディアンサマー', 3.8, 7.2, '茶', 'N', 30)
('ブルフロッグ', 3.6, 21.5, '黄褐色', 'Y', 80)
('ソーダアンドイット', 4.8, 4.7, '赤', 'N', 19)
('キスオンザリップス', 6.5, 42.5, '紫', 'Y', 170)
('ブラックソーン', 4, 8.4, '金', 'Y', 33)
('グレイハウンド', 5, 14, '金', 'Y', 50)
('オーマイゴッシュ', 5.5, 8.6, '橙', 'Y', 35)
('ブルームーン', 4.5, 8.6, '青', 'Y', 35)
('ライムフィズ', 4.5, 5.4, '緑', 'Y', 24)
$

0 コメント:

コメントを投稿