開発環境
- OS X Mavericks - Apple、たまにFreeBSD 10(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python 3.4(プログラミング言語)
- SQLite (RDBMS(Relational Database Management System))
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 コメント:
コメントを投稿