SQL - SQLite - 結合と複数テーブル操作 - みんなでうまくやれないの? - 列の追加、alter
Head First SQL ―頭とからだで覚えるSQLの基本、 Lynn Beighley(著)、 佐藤 直生(監訳)、 松永 多苗子(翻訳)、 オライリージャパンの 8章(結合と複数テーブル操作 - みんなでうまくやれないの?)、p.348(自分で考えてみよう)の解答を求めてみる。
sample2.sql
alter table my_contacts
add column interest1 text;
alter table my_contacts
add column interest2 text;
alter table my_contacts
add column interest3 text;
alter table my_contacts
add column interest4 text;
コード
sample2.py
#!/usr/bin/env python3
import sqlite3
con = sqlite3.connect('gregs_list.db')
cur = con.cursor()
def p():
cur.execute('pragma table_info(my_contacts)')
for row in cur.fetchall():
print(row)
p()
with open('sample2.sql') as f:
cur.executescript(f.read())
p()
入出力結果(Terminal, Zsh)
% ./sample2.py
(0, 'last_name', 'TEXT', 0, None, 0)
(1, 'first_name', 'TEXT', 0, None, 0)
(2, 'gender', 'TEXT', 0, None, 0)
(3, 'email', 'TEXT', 0, None, 0)
(4, 'birthday', 'date', 0, None, 0)
(5, 'profession', 'TEXT', 0, None, 0)
(6, 'location', 'TEXT', 0, None, 0)
(7, 'status', 'TEXT', 0, None, 0)
(8, 'interests', 'TEXT', 0, None, 0)
(9, 'seeking', 'TEXT', 0, None, 0)
(10, 'phone', 'TEXT', 0, None, 0)
(11, 'city', 'TEXT', 0, None, 0)
(12, 'state', 'TEXT', 0, None, 0)
(0, 'last_name', 'TEXT', 0, None, 0)
(1, 'first_name', 'TEXT', 0, None, 0)
(2, 'gender', 'TEXT', 0, None, 0)
(3, 'email', 'TEXT', 0, None, 0)
(4, 'birthday', 'date', 0, None, 0)
(5, 'profession', 'TEXT', 0, None, 0)
(6, 'location', 'TEXT', 0, None, 0)
(7, 'status', 'TEXT', 0, None, 0)
(8, 'interests', 'TEXT', 0, None, 0)
(9, 'seeking', 'TEXT', 0, None, 0)
(10, 'phone', 'TEXT', 0, None, 0)
(11, 'city', 'TEXT', 0, None, 0)
(12, 'state', 'TEXT', 0, None, 0)
(13, 'interest1', 'TEXT', 0, None, 0)
(14, 'interest2', 'TEXT', 0, None, 0)
(15, 'interest3', 'TEXT', 0, None, 0)
(16, 'interest4', 'TEXT', 0, None, 0)
%