開発環境
- 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.136)を解いてみる。
自分で考えてみよう(p.136)
コード(BBEdit, Emacs)
sample136.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(""" INSERT INTO drink_info VALUES( 'キスオンザリップス', 5.5, 42.5, '紫', 'Y', 170) """) cursor.execute(""" DELETE FROM drink_info WHERE drink_name = 'キスオンザリップス' AND calories <> 170 """) cursor.execute(""" INSERT INTO drink_info VALUES( 'ブラックソーン', 3, 8.4, '金', 'Y', 33) """) cursor.execute(""" INSERT INTO drink_info VALUES( 'グレイハウンド', 4, 14, '金', 'Y', 50) """) cursor.execute(""" DELETE FROM drink_info WHERE color = '黄' """) cursor.execute(""" INSERT INTO drink_info VALUES( 'オーマイゴッシュ', 4.5, 8.6, '橙', 'Y', 35) """) cursor.execute(""" DELETE FROM drink_info WHERE cost = 3.5 """) cursor.execute(""" INSERT INTO drink_info VALUES( 'ブルームーン', 3.5, 8.6, '青', 'Y', 35) """) cursor.execute(""" INSERT INTO drink_info VALUES( 'ライムフィズ', 3.5, 5.4, '緑', 'Y', 24) """) cursor.execute(""" DELETE FROM drink_info WHERE cost = 2.5 """) p_all() connection.commit() connection.close()
入出力結果(Terminal, IPython)
$ ./sample136.py ('drink_name', 'cost', 'carbs', 'color', 'ice', 'calories') drink_info ('ブラックソーン', 3, 8.4, '黄', 'Y', 33) ('ブルームーン', 2.5, 3.2, '青', 'Y', 12) ('オーマイゴッシュ', 3.5, 8.6, '橙', 'Y', 35) ('ライムフィズ', 2.5, 5.4, '緑', 'Y', 24) ('キスオンザリップス', 5.5, 42.5, '紫', 'Y', 171) ('ホットゴールド', 3.2, 32.1, '橙', 'N', 135) ('ローンツリー', 3.6, 4.2, '赤', 'Y', 17) ('グレイハウンド', 4, 14, '黄', 'Y', 50) ('インディアンサマー', 2.8, 7.2, '茶', 'N', 30) ('ブルフロッグ', 2.6, 21.5, '黄褐色', 'Y', 80) ('ソーダアンドイット', 3.8, 4.7, '赤', 'N', 19) ('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) $
0 コメント:
コメントを投稿