計算機科学のブログ

SQL - Python - DELETE文とUPDATE文 - 役に立つ変更 - レコードの作除

Head First SQL ―頭とからだで覚えるSQLの基本Lynn Beighley(著)、 佐藤 直生(監訳)、 松永 多苗子(翻訳)、 オライリージャパンの 3章(DELETE文とUPDATE文 - 役に立つ変更)、p.129(DELETE文マグネット)の解答を求めてみる。

schema2_0.sql

select * from clown_info;

schema2_1.sql

delete from clown_info
where activities = 'ダンス';

コード

sample2.py

#! /usr/bin/env python3
import sqlite3

con = sqlite3.connect('sample.sqlite')
cur = con.cursor()

with open('schema2.sql') as f:
    cur.executescript(f.read())
for i in (0, 1, 0):
    with open(f'schema2_{i}.sql') as f:
        cur.execute(f.read())
    if (d := cur.description) is not None:
        print([t[0] for t in d])
    for row in cur.fetchall():
        print(row)
cur.close()
con.close()

入出力結果(Terminal, Zsh)

% ./sample2.py 
['name', 'last_name', 'appearance', 'activities']
('エルシー', 'チェリーヒル・シニアセンター', '女性、赤遺髪、緑のドレス、巨大な足', 'ゴム風船、小さな車')
('ピックルズ', 'ジャック・グリーンのパーティ', '男性、オレンジ色の髪、青いスーツ、巨大な足', 'パントマイム')
('スナッグルズ', 'ボールマート', '女性、黄色いシャツ、赤いバギーパンツ', 'ホルン、傘')
('ミスター・ホボ', 'オークランド病院', '男性、葉巻、黒髪、小さな帽子', 'バイオリン')
('クララベル', 'ベルモント・シニアセンター', '女性、ピンク色の髪、巨大な花、青いドレス', '大声をあげる、ダンス')
('スクーター', 'オークランド病院', '男性、青い髪、赤いスーツ、巨大な鼻', 'ゴム風船')
('ベイブ', 'アールズオート', '女性、きらきら光るピンク一色', '綱渡り、小さな車')
('ボンゾ', None, '男性、女装、水玉模様のドレス', '歌、ダンス')
('スニッフルズ', 'トレイシーズ', '男性、緑と紫のスーツ、先のとがった鼻', None)
('スナッグルズ', 'ディクソンパーク', '女性、黄色いシャツ、青いバギーパンツ', 'ホルン、傘')
('ボンゾ', 'ボールマート', '男性、女装、水玉模様のドレス', '歌、ダンス')
('スニッフルズ', 'トレイシーズ', '男性、緑と紫のスーツ、先のとがった鼻', '小さな車に乗り込む')
('ミスター・ホボ', 'ディクソンパーク', '男性、葉巻、黒髪、小さな帽子', 'バイオリン')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'オークランド病院', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'トレイシーズ', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'ボールマート', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'オークランド病院', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
['name', 'last_name', 'appearance', 'activities']
('エルシー', 'チェリーヒル・シニアセンター', '女性、赤遺髪、緑のドレス、巨大な足', 'ゴム風船、小さな車')
('ピックルズ', 'ジャック・グリーンのパーティ', '男性、オレンジ色の髪、青いスーツ、巨大な足', 'パントマイム')
('スナッグルズ', 'ボールマート', '女性、黄色いシャツ、赤いバギーパンツ', 'ホルン、傘')
('ミスター・ホボ', 'オークランド病院', '男性、葉巻、黒髪、小さな帽子', 'バイオリン')
('クララベル', 'ベルモント・シニアセンター', '女性、ピンク色の髪、巨大な花、青いドレス', '大声をあげる、ダンス')
('スクーター', 'オークランド病院', '男性、青い髪、赤いスーツ、巨大な鼻', 'ゴム風船')
('ベイブ', 'アールズオート', '女性、きらきら光るピンク一色', '綱渡り、小さな車')
('ボンゾ', None, '男性、女装、水玉模様のドレス', '歌、ダンス')
('スニッフルズ', 'トレイシーズ', '男性、緑と紫のスーツ、先のとがった鼻', None)
('スナッグルズ', 'ディクソンパーク', '女性、黄色いシャツ、青いバギーパンツ', 'ホルン、傘')
('ボンゾ', 'ボールマート', '男性、女装、水玉模様のドレス', '歌、ダンス')
('スニッフルズ', 'トレイシーズ', '男性、緑と紫のスーツ、先のとがった鼻', '小さな車に乗り込む')
('ミスター・ホボ', 'ディクソンパーク', '男性、葉巻、黒髪、小さな帽子', 'バイオリン')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'オークランド病院', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'トレイシーズ', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'ボールマート', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'オークランド病院', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
%