SQL - Python - SELECT文 - 天賦のデータ検索 - データの挿入
Head First SQL ―頭とからだで覚えるSQLの基本、 Lynn Beighley(著)、 佐藤 直生(監訳)、 松永 多苗子(翻訳)、 オライリージャパンの 2章(SELECT文 - 天賦のデータ検索)、p.45(自分で考えてみよう)の解答を求めてみる。
schema1.sql
drop table easy_drinks;
create table easy_drinks
(
drink_name text,
main text,
amount1 real,
second text,
amount2 real,
directions text
);
insert into easy_drinks
(drink_name, main, amount1, second, amount2, directions)
values
('ブラックソーン', 'トニックウォーター',1.5,'パイナップルジュース',1,
'氷と一緒にかきまぜ、濾してカクテルにグラスに入れ、レモンを一絞り加える'),
('ブルームーン', 'ソーダ',1,'ブルーベリージュース',0.75,
'氷と一緒にかきまぜ、濾してカクテルにグラスに入れ、レモンを一絞り加える'),
('オーマイゴッシュ', '桃果汁',1.5,'パイナップルジュース',1,
'氷と一緒にかきまぜ、濾してショットグラスに入れる'),
('ライムフィズ', 'スプライト',2,'ライムジュース',0.75,
'氷と一緒にかきまぜ、濾してカクテルにグラスに入れる'),
('キスオンザリップス', 'チェリージュース',3,'あんず果汁',7,
'氷の上に注いで、ストローを付ける'),
('ホットゴールド', '桃果汁',1.5,'オレンジジュース',6,
'熟したオレンジジュースをマグカップに注いで、桃果汁を加える'),
('ローンツリー', 'ソーダ',1.5,'チェリージュース',0.75,
'氷と一緒にかきまぜ、濾してカクテルにグラスに入れる'),
('グレイハウンド', 'ソーダ',2,'グレープフルーツジュース',5,
'氷の上に注いで、よく混ぜる'),
('インディアンサマー', 'アップルジュース',1.5,'ホットティー',6,
'ジュースをマグカップに加え、ホットティーで仕上げる'),
('ブルフロッグ', 'アイスティー',1.5,'レモネード',5,
'氷の上に注いでライムを一切れ加える'),
('ソーダアンドイット', 'ソーダ',2,'グレープジュース',1,
'氷を入れずに、カクテルグラスでシェイクする');
コード
sample1.py
#! /usr/bin/env python3
import sqlite3
con = sqlite3.connect('sample.db')
cur = con.cursor()
with open('schema1.sql') as f:
cur.executescript(f.read())
print(cur.description)
con.commit()
cur.execute(
'''
select * from easy_drinks;
'''
)
print(cur.description)
for row in cur.fetchall():
print(row)
cur.close()
con.close()
入出力結果(Terminal, Zsh)
% ./sample1.py
None
(('drink_name', None, None, None, None, None, None), ('main', None, None, None, None, None, None), ('amount1', None, None, None, None, None, None), ('second', None, None, None, None, None, None), ('amount2', None, None, None, None, None, None), ('directions', None, None, None, None, None, None))
('ブラックソーン', 'トニックウォーター', 1.5, 'パイナップルジュース', 1.0, '氷と一緒にかきまぜ、濾してカクテルにグラスに入れ、レモンを一絞り加える')
('ブルームーン', 'ソーダ', 1.0, 'ブルーベリージュース', 0.75, '氷と一緒にかきまぜ、濾してカクテルにグラスに入れ、レモンを一絞り加える')
('オーマイゴッシュ', '桃果汁', 1.5, 'パイナップルジュース', 1.0, '氷と一緒にかきまぜ、濾してショットグラスに入れる')
('ライムフィズ', 'スプライト', 2.0, 'ライムジュース', 0.75, '氷と一緒にかきまぜ、濾してカクテルにグラスに入れる')
('キスオンザリップス', 'チェリージュース', 3.0, 'あんず果汁', 7.0, '氷の上に注いで、ストローを付ける')
('ホットゴールド', '桃果汁', 1.5, 'オレンジジュース', 6.0, '熟したオレンジジュースをマグカップに注いで、桃果汁を加える')
('ローンツリー', 'ソーダ', 1.5, 'チェリージュース', 0.75, '氷と一緒にかきまぜ、濾してカクテルにグラスに入れる')
('グレイハウンド', 'ソーダ', 2.0, 'グレープフルーツジュース', 5.0, '氷の上に注いで、よく混ぜる')
('インディアンサマー', 'アップルジュース', 1.5, 'ホットティー', 6.0, 'ジュースをマグカップに加え、ホットティーで仕上げる')
('ブルフロッグ', 'アイスティー', 1.5, 'レモネード', 5.0, '氷の上に注いでライムを一切れ加える')
('ソーダアンドイット', 'ソーダ', 2.0, 'グレープジュース', 1.0, '氷を入れずに、カクテルグラスでシェイクする')
%