Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- conn = psycopg2.connect( host=hostname, user=username, password=password, dbname=database)
- # Делаем SELECT запрос к базе данных, используя обычный SQL-синтаксис
- cursor.execute("SELECT Name FROM Artist ORDER BY Name LIMIT 3")
- # Получаем результат сделанного запроса
- results = cursor.fetchall()
- results2 = cursor.fetchall()
- print(results) # [('A Cor Do Som',), ('Aaron Copland & London Symphony Orchestra',), ('Aaron Goldberg',)]
- print(results2) # []
- # Делаем INSERT запрос к базе данных, используя обычный SQL-синтаксис
- cursor.execute("insert into Artist values (Null, 'A Aagrh!') ")
- # Если мы не просто читаем, но и вносим изменения в базу данных - необходимо сохранить транзакцию
- conn.commit()
- # Проверяем результат
- cursor.execute("SELECT Name FROM Artist ORDER BY Name LIMIT 3")
- results = cursor.fetchall()
- print(results) # [('A Aagrh!',), ('A Cor Do Som',), ('Aaron Copland & London Symphony Orchestra',)]
- cursor.execute("""
- SELECT name
- FROM Artist
- ORDER BY Name LIMIT 3
- """)
- cursor.execute("""
- insert into Artist values (Null, 'A Aagrh!');
- insert into Artist values (Null, 'A Aagrh-2!');
- """)
- # sqlite3.Warning: You can only execute one statement at a time.
- cursor.execute("""insert into Artist values (Null, 'A Aagrh!');""")
- cursor.execute("""insert into Artist values (Null, 'A Aagrh-2!');""")
- cursor.executescript("""
- insert into Artist values (Null, 'A Aagrh!');
- insert into Artist values (Null, 'A Aagrh-2!');
- """)
- # C подставновкой по порядку на места знаков вопросов:
- cursor.execute("SELECT Name FROM Artist ORDER BY Name LIMIT ?", ('2'))
- # И с использованием именнованных замен:
- cursor.execute("SELECT Name from Artist ORDER BY Name LIMIT :limit", {"limit": 3})
- # Обратите внимание, даже передавая одно значение - его нужно передавать кортежем!
- # Именно по этому тут используется запятая в скобках!
- new_artists = [
- ('A Aagrh!',),
- ('A Aagrh!-2',),
- ('A Aagrh!-3',),
- ]
- cursor.executemany("insert into Artist values (Null, ?);", new_artists)
- cursor.execute("SELECT Name FROM Artist ORDER BY Name LIMIT 3")
- print(cursor.fetchone()) # ('A Cor Do Som',)
- print(cursor.fetchone()) # ('Aaron Copland & London Symphony Orchestra',)
- print(cursor.fetchone()) # ('Aaron Goldberg',)
- print(cursor.fetchone()) # None
- # Использование курсора как итератора
- for row in cursor.execute('SELECT Name from Artist ORDER BY Name LIMIT 3'):
- print(row)
- # ('A Cor Do Som',)
- # ('Aaron Copland & London Symphony Orchestra',)
- # ('Aaron Goldberg',)
- try:
- cursor.execute(sql_statement)
- result = cursor.fetchall()
- except sqlite3.DatabaseError as err:
- print("Error: ", err)
- else:
- conn.commit()
- with psycopg2.connect("dbname='habr'") as conn:
- with conn.cursor() as cur:
- import sqlite3
- def dict_factory(cursor, row):
- d = {}
- for idx, col in enumerate(cursor.description):
- d[col[0]] = row[idx]
- return d
- con = sqlite3.connect(":memory:")
- con.row_factory = dict_factory
- cur = con.cursor()
- cur.execute("select 1 as a")
- print(cur.fetchone()["a"])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement