開発環境
- macOS Mojave - Apple
- Emacs (Text Editor)
- PostgreSQL (ORDBMS(object-relational database management system))
- Python 3.7 (プログラミング言語)
- psycopg2(パッケージ)
Head First SQL ―頭とからだで覚えるSQLの基本 (Lynn Beighley (著), 佐藤 直生 (監訳)、松永 多苗子 (翻訳)、オライリージャパン)の1章(データとテーブル - あらゆるものにふさわしい場所)、自分で考えてみよう(p. 39).を取り組んでみる。
コード(Emacs)
Python 3
#!/usr/bin/env python3 import psycopg2 as sql conn = sql.connect(database='gregs_list', user='kamimura') cursor = conn.cursor() _sqls = [ ''' INSERT INTO my_contacts (last_name, first_name, email, gender, birthday, profession, location, status, interests, seeking) VALUES ('アンダーソン','ジリアン','jill_anderson@breakneckpizza.com','F','1980-09-05', 'テクニカルライター','カヤック乗り、爬虫類','恋人、友達') )''', # valuesに住所がない。 ''' INSERT INTO my_contacts (last_name, first_name, email, gender, birthday, profession, location, status, interests, seeking) VALUES ('アンダーソン','ジリアン','jill_anderson@breakneckpizza.com','F','1980-09-05', 'テクニカルライター','カリフォルニア州パロアルト','独身','カヤック乗り、爬虫類','恋人、友達') )''', # emailがない。 ''' INSERT INTO my_contacts (last_name, first_name, email, gender, birthday, profession, location, status, interests, seeking) VALUES ('アンダーソン','ジリアン','jill_anderson@breakneckpizza.com','F','1980-09-05', 'テクニカルライター' 'カリフォルニア州パロアルト','独身','カヤック乗り、爬虫類','恋人、友達') )''', # valuesのテクニカルライターの後のコンマが抜けている。 ''' INSERT INTO my_contacts (last_name, first_name, email, gender, birthday, profession, location, status, interests, seeking) values ('アンダーソン','ジリアン','jill_anderson@breakneckpizza.com','F','1980-09-05', 'テクニカルライター','カリフォルニア州パロアルト','独身','カヤック乗り、爬虫類','恋人、友達) )''' # valuesの恋人、友達がシングルクォートで閉じられてない。 ] for _sql in _sqls: try: cursor.execute(_sql) except Exception as err: print(type(err), err) conn.commit() cursor.close() conn.close()
入出力結果(Terminal, Jupyter(IPython))
$ ./sample3.py <class 'psycopg2.ProgrammingError'> syntax error at or near ")" LINE 8: ) ^ <class 'psycopg2.ProgrammingError'> syntax error at or near ")" LINE 8: ) ^ <class 'psycopg2.ProgrammingError'> syntax error at or near "'カリフォルニア州パロアルト'" LINE 7: 'テクニカルライター' 'カリフォルニア州パロアルト','独身','カ... ^ <class 'psycopg2.ProgrammingError'> unterminated quoted string at or near "'恋人、友達) )" LINE 7: ...ルニア州パロアルト','独身','カヤック乗り、爬虫類','恋人、友... ^ $
0 コメント:
コメントを投稿