2014年8月1日金曜日

開発環境

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

DELETE文になってみよう(p.141)

  • ミスター・ホボ(1つ目)とスクーターが削除される。
  • ミスター・ホボが全て削除される。
  • ミスター・ホボ(2つ目)が削除される。
  • 何も削除されない。
  • スナックルズ、ミスター・ホボ(1つ目と2つ目)、スクーター、スナグルズが削除される。
  • 全てのミスター・ホボとスクーターが削除される。

コード(BBEdit, Emacs)

sample136.py

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

import sqlite3

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

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

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

p_all()

cursor.execute("""
INSERT INTO clown_info VALUES(
'ミスター・ホボ', 'トレイシーズ', '男性、葉巻、黒髪、小さな帽子', 'バイオリン')
""")

p_all()

cursor.execute("""
DELETE FROM clown_info
WHERE name = 'ミスター・ホボ' AND
last_seen <> 'トレイシーズ'
""")

p_all()

connection.commit()
connection.close()

入出力結果(Terminal, IPython)

$ ./sample141.py
('name', 'last_seen', 'appearance', 'activities')
clown_info
('ボンゾ', 'ボールマート', '男性、助走、水玉模様のドレス', '歌、ダンス')
('スニッフルズ', 'トレイシーズ', '男性、緑と紫のスーツ、先のとがった鼻', '小さな車')
('ミスター・ホボ', 'ディクソンパーク', '男性、葉巻、黒髪、小さな帽子', 'バイオリン')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'オークランド病院', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'トレイシーズ', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'ボールマート', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'オークランド病院', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('name', 'last_seen', 'appearance', 'activities')
clown_info
('ボンゾ', 'ボールマート', '男性、助走、水玉模様のドレス', '歌、ダンス')
('スニッフルズ', 'トレイシーズ', '男性、緑と紫のスーツ、先のとがった鼻', '小さな車')
('ミスター・ホボ', 'ディクソンパーク', '男性、葉巻、黒髪、小さな帽子', 'バイオリン')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'オークランド病院', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'トレイシーズ', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'ボールマート', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'オークランド病院', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ミスター・ホボ', 'トレイシーズ', '男性、葉巻、黒髪、小さな帽子', 'バイオリン')
('name', 'last_seen', 'appearance', 'activities')
clown_info
('ボンゾ', 'ボールマート', '男性、助走、水玉模様のドレス', '歌、ダンス')
('スニッフルズ', 'トレイシーズ', '男性、緑と紫のスーツ、先のとがった鼻', '小さな車')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'オークランド病院', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'トレイシーズ', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'ボールマート', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'オークランド病院', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ミスター・ホボ', 'トレイシーズ', '男性、葉巻、黒髪、小さな帽子', 'バイオリン')
$

0 コメント:

コメントを投稿