開発環境
- macOS Mojave - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- PostgreSQL (ORDBMS(object-relational database management system))
- Python 3.7 (プログラミング言語)
- psycopg2(パッケージ)
Head First SQL ―頭とからだで覚えるSQLの基本 (Lynn Beighley (著), 佐藤 直生 (監訳)、松永 多苗子 (翻訳)、オライリージャパン)の2章(SELECT文 - 天賦のデータ検索)、エクササイズ(p. 81).を取り組んでみる。
コード(Emacs)
Python 3
#!/usr/bin/env python3 import psycopg2 as sql conn = sql.connect(database='gregs_list', user='kamimura') cursor = conn.cursor() _sqls = [ '''select * from my_contacts''', ''' select email from my_contacts where profession = 'コンピュータプログラマ' ''', ''' select first_name, last_name, location from my_contacts where birthday = '1970-04-01' ''', ''' select first_name, last_name, location from my_contacts where birthday = '1970-04-02' ''', '''select first_name, last_name, email from my_contacts where location = 'ニュージャージー州グローバーズミル (Grover''s Mill)' and gender = 'M' ''', ''' select first_name, last_name, email from my_contacts where location = 'ニュージャージー州グローバーズミル (Grover''s Mill)' and gender = 'F' ''', ''' select first_name, last_name from my_contacts where location = 'サンフランシスコ州' ''' ] for _sql in _sqls: print(_sql) try: cursor.execute(_sql) for row in cursor.fetchall(): print(row) print() except Exception as err: print(type(err), err) cursor.close() conn.close()
入出力結果(Terminal, cmd(コマンドプロンプト), Jupyter(IPython))
$ ./sample5.py select * from my_contacts ('steve@onionflavoredrings.com', datetime.date(1970, 4, 1), 'スティーブ', 'ファンヨン', '国家の破壊', '同国人、ギタープレイヤー', '独身', 'パンクミュージシャン', "ニュージャージー州グローバーズミル (Grover's Mill)", 'M') ('steve@onionflavoredrings.com', datetime.date(1970, 4, 1), 'スティーブ', 'ファンヨン', '国家の破壊', '同国人、ギタープレイヤー', '独身', 'パンクミュージシャン', "Grover's Mill", 'M') ('steve@onionflavoredrings.com', datetime.date(1970, 4, 1), 'スティーブ', 'ファンヨン', '国家の破壊', '同国人、ギタープレイヤー', '独身', 'パンクミュージシャン', "ニュージャージー州グローバーズミル (Grover's Mill)", 'M') ('steve@onionflavoredrings.com', datetime.date(1970, 4, 1), 'スティーブ', 'ファンヨン', '国家の破壊', '同国人、ギタープレイヤー', '独身', 'パンクミュージシャン', "Grover's Mill", 'M') ('steve@onionflavoredrings.com', datetime.date(1970, 4, 1), 'スティーブ', 'ファンヨン', '国家の破壊', '同国人、ギタープレイヤー', '独身', 'パンクミュージシャン', "ニュージャージー州グローバーズミル (Grover's Mill)", 'M') ('steve@onionflavoredrings.com', datetime.date(1970, 4, 1), 'スティーブ', 'ファンヨン', '国家の破壊', '同国人、ギタープレイヤー', '独身', 'パンクミュージシャン', "Grover's Mill", 'M') ('steve@onionflavoredrings.com', datetime.date(1970, 4, 1), 'スティーブ', 'ファンヨン', '国家の破壊', '同国人、ギタープレイヤー', '独身', 'パンクミュージシャン', "ニュージャージー州グローバーズミル (Grover's Mill)", 'M') ('steve@onionflavoredrings.com', datetime.date(1970, 4, 1), 'スティーブ', 'ファンヨン', '国家の破壊', '同国人、ギタープレイヤー', '独身', 'パンクミュージシャン', "Grover's Mill", 'M') ('steve@onionflavoredrings.com', datetime.date(1970, 4, 1), 'スティーブ', 'ファンヨン', '国家の破壊', '同国人、ギタープレイヤー', '独身', 'パンクミュージシャン', "ニュージャージー州グローバーズミル (Grover's Mill)", 'M') ('steve@onionflavoredrings.com', datetime.date(1970, 4, 1), 'スティーブ', 'ファンヨン', '国家の破壊', '同国人、ギタープレイヤー', '独身', 'パンクミュージシャン', "Grover's Mill", 'M') ('steve@onionflavoredrings.com', datetime.date(1970, 4, 1), 'スティーブ', 'ファンヨン', '国家の破壊', '同国人、ギタープレイヤー', '独身', 'パンクミュージシャン', "ニュージャージー州グローバーズミル (Grover's Mill)", 'M') ('steve@onionflavoredrings.com', datetime.date(1970, 4, 1), 'スティーブ', 'ファンヨン', '国家の破壊', '同国人、ギタープレイヤー', '独身', 'パンクミュージシャン', "Grover's Mill", 'M') select email from my_contacts where profession = 'コンピュータプログラマ' select first_name, last_name, location from my_contacts where birthday = '1970-04-01' ('スティーブ', 'ファンヨン', "ニュージャージー州グローバーズミル (Grover's Mill)") ('スティーブ', 'ファンヨン', "Grover's Mill") ('スティーブ', 'ファンヨン', "ニュージャージー州グローバーズミル (Grover's Mill)") ('スティーブ', 'ファンヨン', "Grover's Mill") ('スティーブ', 'ファンヨン', "ニュージャージー州グローバーズミル (Grover's Mill)") ('スティーブ', 'ファンヨン', "Grover's Mill") ('スティーブ', 'ファンヨン', "ニュージャージー州グローバーズミル (Grover's Mill)") ('スティーブ', 'ファンヨン', "Grover's Mill") ('スティーブ', 'ファンヨン', "ニュージャージー州グローバーズミル (Grover's Mill)") ('スティーブ', 'ファンヨン', "Grover's Mill") ('スティーブ', 'ファンヨン', "ニュージャージー州グローバーズミル (Grover's Mill)") ('スティーブ', 'ファンヨン', "Grover's Mill") select first_name, last_name, location from my_contacts where birthday = '1970-04-02' select first_name, last_name, email from my_contacts where location = 'ニュージャージー州グローバーズミル (Grover''s Mill)' and gender = 'M' ('スティーブ', 'ファンヨン', 'steve@onionflavoredrings.com') ('スティーブ', 'ファンヨン', 'steve@onionflavoredrings.com') ('スティーブ', 'ファンヨン', 'steve@onionflavoredrings.com') ('スティーブ', 'ファンヨン', 'steve@onionflavoredrings.com') ('スティーブ', 'ファンヨン', 'steve@onionflavoredrings.com') ('スティーブ', 'ファンヨン', 'steve@onionflavoredrings.com') select first_name, last_name, email from my_contacts where location = 'ニュージャージー州グローバーズミル (Grover''s Mill)' and gender = 'F' select first_name, last_name from my_contacts where location = 'サンフランシスコ州' $
0 コメント:
コメントを投稿