SQL - SQLite - ALTER文 - 過去の書き換え - 列の削除、drop
Head First SQL ―頭とからだで覚えるSQLの基本、 Lynn Beighley(著)、 佐藤 直生(監訳)、 松永 多苗子(翻訳)、 オライリージャパンの 5章(ALTER文 - 過去の書き換え)、p.215(自分で考えてみよう)の解答を求めてみる。
コード
sample4.py
#! /usr/bin/env python3
import sqlite3
con = sqlite3.connect('project.db')
cur = con.cursor()
def p():
print('-' * 10)
cur.execute('pragma table_info(project_list)')
for row in cur.fetchall():
print(row)
p()
sql = """
alter table project_list
drop column start_date
"""
cur.execute(sql)
con.commit()
p()
cur.close()
con.close()
入出力結果(Terminal, Zsh)
% ./sample4.py
----------
(0, 'proj_id', 'INTEGER', 0, None, 1)
(1, 'proj_desc', 'TEXT', 0, None, 0)
(2, 'con_name', 'TEXT', 0, None, 0)
(3, 'phone', 'TEXT', 0, None, 0)
(4, 'start_date', 'date', 0, None, 0)
(5, 'real', '', 0, None, 0)
----------
(0, 'proj_id', 'INTEGER', 0, None, 1)
(1, 'proj_desc', 'TEXT', 0, None, 0)
(2, 'con_name', 'TEXT', 0, None, 0)
(3, 'phone', 'TEXT', 0, None, 0)
(4, 'real', '', 0, None, 0)
%