計算機科学のブログ

ほしい物リスト

SQL - SQLite - DELEtE文とUPDATE文 - 役に立つ変更 - create文、insert文

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

clown_info.sql

drop table if exists clown_info;

create table clown_info(
    name text,
    last_seen text,
    appearance text,
    activities text
);

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

('ジッポ','ミルストーンモール','女性、オレンジ色のスーツ、バギーパンツ','ダンス、歌'),
('スナックルズ','ディクソンパーク','女性、黄色いシャツ、青いバギーパンツ','ホルン、傘'),
('ボンゾ','ボールマート','男性、女装、水玉模様のドレス','歌、ダンス'),
('スニッフルズ','トレイシーズ','男性、緑と紫のスーツ、先のとがった鼻','小さな車に乗り込む'),
('ミスター・ホボ','ディクソンパーク','男性、葉巻、黒髪、小さな帽子','バイオリン');

コード

sample1.py

#! /usr/bin/env python3

import sqlite3

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

with open('clown_info.sql') as f:
    cur.executescript(f.read())

sql = '''select * from clown_info'''
cur.execute(sql)
for row in cur.fetchall():
    print(row)

cur.close()
con.close()

入出力結果(Terminal, Zsh)

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