cursor¶
- class
psycopg2.
cursor
¶ Объект курсор
Поддерживает интерфейс контекстного менеджера
with psycopg2.connection() as connection: with connection.cursor() as cursor: pass
cur.execute("SELECT * FROM test;") for record in cur: print(record) # (1, 100, "abc'def") # (2, None, 'dada') # (3, 42, 'bar')
-
arraysize
¶
-
closed
¶
-
connection
¶ psycopg2.connection()
ссылка на объект соединения с БД, к которому этот курсор относится
-
descriptions
¶ psycopg2.extensions.Column()
описание одного поля результата
-
itersize
¶
-
lastrowid
¶
-
name
¶ Имя курсора, если он был задан во время создания
-
query
¶ Строка последнего выполненого запроса
cursor.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (42, 'bar')) cursor.query # "INSERT INTO test (num, data) VALUES (42, E'bar')"
-
rowcount
¶
-
rownumber
¶
-
scrollable
¶
-
statusmessage
¶ cursor.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (42, 'bar')) cursor.statusmessage # 'INSERT 0 1'
-
tzinfo_factory
¶
-
withhold
¶
-
callproc
(procname, parameters)¶
-
cast
(oid, s)¶ Преобразует значение из базы в питон объект
-
close
()¶ Закрывает курсор
-
copy_expert
(sql, file, size=8192)¶ cur.copy_expert("COPY test TO STDOUT WITH CSV HEADER", sys.stdout) """ id,num,data 1,100,abc'def 2,,dada ... """
-
copy_from
(file, table, sep='t', null='\N', size=8192, colums=None)¶ Загружает данные из файлового объекта в таблицу
f = StringIO("42\tfoo\n74\tbar\n") cur.copy_from(f, 'test', columns=('num', 'data')) cur.execute("select * from test where id > 5;") cur.fetchall() # [(6, 42, 'foo'), (7, 74, 'bar')]
-
copy_to
(file, table, sep='t', null='\N', columns=None)¶ Выгружает данные из таблицы в файловый объект
cursor.copy_to(sys.stdout, 'test', sep="|") """ 1|100|abc'def 2|\N|dada ... """
-
execute
(query, vars=None)¶ Выполняет указанный запрос
cursor.execute( 'SELECT * FROM airport WHERE city_code = %s', ('ALA', ) ) cursor.execute( 'SELECT * FROM engine_airport WHERE city_code = %(city_code)s', {'city_code': 'ALA'} )
from psycopg2 import sql cur.execute( sql.SQL("insert into {} values (%s, %s)").format(sql.Identifier('my_table')), [10, 20] ) .. code-block:: py with conn.cursor() as cursor: columns = ('country_name', 'airport_name') stmt = ( sql.SQL('SELECT {} FROM {} LIMIT 5') .format( sql.SQL(',').join(map(sql.Identifier, columns)), sql.Identifier('airport')) ) cursor.execute(stmt) for row in cursor: print(row) ('Россия', 'Аэропорт') ...
-
executemany
(query, vars=None)¶
-
fetchall
()¶ Возвращает все оставшиеся записи
cursor.execute("SELECT * FROM test;") cursor.fetchall() # [(1, 100, "abc'def"), (2, None, 'dada'), (3, 42, 'bar')]
-
fetchmany
(size=cursor.size)¶ Возвращает указанное количесвто записей, по умолчанию - все
cur.execute("SELECT * FROM test;") cur.fetchmany(2) # [(1, 100, "abc'def"), (2, None, 'dada')] cur.fetchmany(2) # [(3, 42, 'bar')] cur.fetchmany(2) # []
-
fetchone
()¶ Возвращает одну запись
cursor.execute("SELECT * FROM test WHERE id = %s", (3,)) cursor.fetchone() # (3, 42, 'bar')
-
mogrify
(operation, params)¶ cursor.mogrify("INSERT INTO test (num, data) VALUES (%s, %s)", (42, 'bar')) # "INSERT INTO test (num, data) VALUES (42, E'bar')"
-
scroll
(value, mode='relative')¶ Переместить курсор на указанную позицию
-
setinputsizes
(sizes)¶
-
setoutputsizes
(sizes, column)¶
-