計算機科学のブログ

ほしい物リスト

SQL - SQLite - DELEtE文とUPDATE文 - 役に立つ変更 - delete文

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

zippo.sql

insert into clown_info values
('ジッポ','オークランド病院','女性、オレンジ色のスーツ、バギーパンツ','ダンス、歌'),
('ジッポ','トレイシーズ','女性、オレンジ色のスーツ、バギーパンツ','ダンス、歌'),
('ジッポ','ボールマート','女性、オレンジ色のスーツ、バギーパンツ','ダンス、歌'),
('ジッポ','ミルストーンモール','女性、オレンジ色のスーツ、バギーパンツ','ダンス、歌'),
('ジッポ','オークランド病院','女性、オレンジ色のスーツ、バギーパンツ','ダンス、歌');

コード

sample2.py

#! /usr/bin/env python3

import sqlite3

con = sqlite3.connect('clown.db')
cur = con.cursor()

sql_zippo = """select * from clown_info where  name = 'ジッポ'"""
cur.execute(sql_zippo)
for row in cur.fetchall():
    print(row)

print('追加')
with open('zippo.sql') as f:
    cur.executescript(f.read())

cur.execute(sql_zippo)
for row in cur.fetchall():
    print(row)

print('削除')

sql = """
delete from clown_info
where name = 'ジッポ'
and activities = 'ダンス'
"""

cur.execute(sql)
con.commit()

cur.execute(sql_zippo)

for row in cur.fetchall():
    print(row)

cur.close()
con.close()

入出力結果(Terminal, Zsh)

% ./sample2.py 
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
追加
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'オークランド病院', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'トレイシーズ', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'ボールマート', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'オークランド病院', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
削除
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'オークランド病院', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'トレイシーズ', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'ボールマート', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'ミルストーンモール', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
('ジッポ', 'オークランド病院', '女性、オレンジ色のスーツ、バギーパンツ', 'ダンス、歌')
%