Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import io
- import psycopg
- dsn = {
- 'dbname': 'movies_database',
- 'user': 'app',
- 'password': '123qwe',
- 'host': 'localhost',
- 'port': 5432,
- 'options': '-c search_path=content',
- }
- if __name__ == '__main__':
- with psycopg.connect(**dsn) as conn, conn.cursor() as cursor:
- cursor.execute("""TRUNCATE content.temp_table""")
- data = ('ca211dbc-a6c6-44a5-b238-39fa16bbfe6c', 'Иван Иванов')
- cursor.execute("""INSERT INTO content.temp_table (id, name) VALUES (%s, %s)""", data)
- # my code here
- values = [(34545, 'samuel', 48000.0),
- (34546, 'rachel', 23232),
- (34547, 'Sean', 92000.0)]
- args = ','.join(cursor.mogrify("(%s,%s,%s)", item) for item in values)
- data = [
- ('b8531efb-c49d-4111-803f-725c3abc0f5e', 'Василий Васильевич'),
- ('2d5c50d0-0bb4-480c-beab-ded6d0760269', 'Пётр Петрович'),
- ]
- cursor.executemany('INSERT INTO content.temp_table (id, name) VALUES (%s, %s)', data)
- data = ('ca211dbc-a6c6-44a5-b238-39fa16bbfe6c', 'Иван Петров')
- cursor.execute(
- """
- INSERT INTO content.temp_table (id, name)
- VALUES (%s, %s)
- ON CONFLICT (id) DO UPDATE SET name=EXCLUDED.name
- """,
- data,
- )
- cursor.execute("""SELECT name FROM content.temp_table WHERE id = 'ca211dbc-a6c6-44a5-b238-39fa16bbfe6c'""")
- result = cursor.fetchone()
- print('Результат выполнения команды UPSERT ', result)
- cursor.execute("""TRUNCATE content.temp_table""")
- data = io.StringIO()
- data.write('ca211dbc-a6c6-44a5-b238-39fa16bbfe6c,Михаил Михайлович')
- data.seek(0)
- with cursor.copy("""COPY content.temp_table FROM STDIN (FORMAT 'csv', HEADER false)""") as copy:
- copy.write(data.read())
- cursor.execute("""SELECT name FROM content.temp_table WHERE id = 'ca211dbc-a6c6-44a5-b238-39fa16bbfe6c'""")
- result = cursor.fetchone()
- print('Результат выполнения команды COPY ', result)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement