2018年12月15日土曜日

開発環境

Head First SQL ―頭とからだで覚えるSQLの基本 (Lynn Beighley (著), 佐藤 直生 (監訳)、松永 多苗子 (翻訳)、オライリージャパン)の3章(DELETE文とUPDATE文 - 役に立つ変更)、DELETE文マグネット(p. 129).を取り組んでみる。

コード(Emacs)

Python 3

#!/usr/bin/env python3
import psycopg2 as sql

conn = sql.connect(database='gregs_list', user='kamimura')
cursor = conn.cursor()

_sql = '''
create table if not exists clown_info(
name varchar(20),
last_seen varchar(50),
appearance varchar(100),
activities varchar(50)
)
'''
cursor.execute(_sql)

_sql = '''insert into clown_info values(%s, %s, %s, %s)'''

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

cursor.executemany(_sql, values)
conn.commit()

_sql = '''
select * from clown_info where name = 'ジッポ'
'''
cursor.execute(_sql)
print(', '.join([column[0] for column in cursor.description]))
for row in cursor.fetchall():
    print(row)

_sql = '''
delete from clown_info
where activities = 'ダンス'
'''
cursor.execute(_sql)
conn.commit()

_sql = '''
select * from clown_info where name = 'ジッポ'
'''
cursor.execute(_sql)
print(', '.join([column[0] for column in cursor.description]))
for row in cursor.fetchall():
    print(row)

cursor.close()
conn.close()

入出力結果(Terminal, cmd(コマンドプロンプト), Jupyter(IPython))

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

0 コメント:

コメントを投稿