WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Эта глава содержит общественный API для расширения C Connector/Python,
также известное как модуль
Модуль Примеры в этом руководстве используют Расширение C не часть чистой установки Python.
Это дополнительный модуль, который должен быть установлен, используя
двоичный дистрибутив Connector/Python, который включает его, или собран с
использованием исходного текста, см. главу 4. Модуль Синтаксис: Класс Класс Разрешенные аргументы класса Синтаксис: Возвращает количество строк, измененных, вставленных или удаленных
последним запросом Синтаксис: Устанавливает режим autocommit. Поднимает исключение Синтаксис: Без аргумента вернет С булевым аргументом устанавливает режим буферизации экземпляра
Для синтаксиса сеттера поднимает исключение
Синтаксис: Изменяет пользователя и устанавливает новую базу данных по умолчанию.
Разрешенные аргументы Синтаксис: Возвращает название набора символов по умолчанию для текущей сессии MySQL.
У некоторых наборов символов MySQL нет эквивалентных имен в Python.
Когда дело обстоит так, имя, применимое Python, возвращено. Например,
имя набора символов MySQL Синтаксис: Закрывает подключение MySQL. Синтаксис: Передает текущую транзакцию. Синтаксис: Соединяется с сервером MySQL.
Если Поднимает исключение Синтаксис: Вернет Синтаксис: Потребляет сохраненный набор результатов, если есть для этого экземпляра
Синтаксис: Преобразовывает объект Python в значение MySQL на основе типа объекта
Python. Преобразованный объект экранирован и цитирован. Поднимает исключение Синтаксис: Использует C API-функцию
Uses the Поднимает исключение Синтаксис: Информация о столбце для активного набора результатов. Возвращает список
кортежей, один кортеж для каждого столбца. Поднимает исключение Синтаксис: Приносит следующую строку активного набора результатов. Строка возвращена
как кортеж, которая содержит значения, преобразованные в объекты Python, если
не был установлен Поднимает исключение Синтаксис: Возвращает количество колонок в активном наборе результатов. Синтаксис: Освобождает сохраненный набор результатов, если есть для этого
экземпляра Синтаксис: Вернет данные о наборе символов по умолчанию для текущей сессии MySQL.
У возвращенного словаря есть ключи
Синтаксис: Возвращает версию библиотеки клиента MySQL как строку. Синтаксис: Возвращает версию библиотеки клиента MySQL как кортеж. Синтаксис: Возвращает описание типа связи как строку. Синтаксис: Возвращает версию протокола, используемую текущей сессией. Синтаксис: Возвращает версию сервера MySQL как строку. Синтаксис: Возвращает версию сервера MySQL как кортеж. Синтаксис: Возвращает шифр SSL, используемый для текущей сессии, или
Синтаксис: Кодирует значение в шестнадцатеричном формате и обертывает его в
Синтаксис: Вернет значение Синтаксис: Вернет Синтаксис: Начинает следующий набор результатов для последовательности запроса,
которая произвела многократные наборы результатов. Поднимает исключение Синтаксис: Возвращает количество колонок в активном наборе результатов. Синтаксис: Возвращает количество строк в активном наборе результатов. Поднимает исключение Синтаксис: Вернет Синтаксис: Выполняет SQL-оператор. Разрешенные аргументы:
Чтобы проверить вернул ли запрос строки, проверьте свойство
Синтаксис: Без аргумента вернет С булевым аргументом установит режим экземпляра
Синтаксис: Сбрасывает таблицы и кэши, указанные аргументом.
Единственным аргументом в настоящее время является целое число. Поднимает исключение Синтаксис: Отменяет текущую транзакцию. Поднимает исключение Синтаксис: Устанавливает текущую базу данных для текущей сессии. Поднимает исключение Синтаксис: Устанавливает набор символов по умолчанию для текущей сессии.
Единственным разрешенным аргументом является последовательность, которая
содержит имя набора символов. Поднимает исключение Синтаксис: Закрывает сервер MySQL. Единственным аргументом в настоящее время
является целое число, которое описывает тип закрытия. Поднимает исключение Синтаксис: Возвращает статус сервера как последовательность. Поднимает исключение Синтаксис: Возвращает ID текущего потока или связи. Синтаксис: Без аргумента вернет С булевым аргументом устанавливает, возвращает ли экземпляр
Синтаксис: Возвращает количество ошибок, предупреждений и сообщений,
произведенных предыдущим SQL-оператором. Синтаксис: После выполнения метода
Глава 11. Расширение Connector/Python C, функции API
_mysql_connector
Python._mysql_connector
может использоваться
непосредственно без любого другого кода Connector/Python. Одна причина
использовать этот модуль непосредственно по причинам производительности.ccnx
,
чтобы представлять объект соединителя, как используется с модуем
_mysql_connector
.
ccnx
это экземпляр класса
_mysql_connector.MySQL()
. Это отлично от
объекта cnx
, используемого в примерах для
модуля mysql.connector
Connector/Python из
главы 10. cnx
это
экземпляр объекта, возвращенного методом
connect()
класса
MySQLConnection
.
11.1. Модуль _mysql_connector
_mysql_connector
обеспечивает классы.
11.2. Класс _mysql_connector.MySQL()
ccnx = _mysql_connector.MySQL(
args
)
MySQL
используется, чтобы открыть и
управлять связью с сервером MySQL (упомянутом в другом месте в этой главе
как экземпляр MySQL
).
Это также используется, чтобы послать команды и
SQL-операторы и прочитать результаты.MySQL
обертывает большинство функций,
найденных в MySQL C Client API, и добавляет некоторую
дополнительную удобную функциональность.
import _mysql_connector
ccnx = _mysql_connector.MySQL()
ccnx.connect(user='scott', password='
password
',
host='127.0.0.1', database='employees')
ccnx.close()
MySQL
:
auth_plugin
,
buffered
,
charset_name
,
connection_timeout
,
raw
,
use_unicode
.
Эти аргументы соответствуют аргументам для
MySQLConnection.connect()
, как описано в
разделе 7.1,
за исключением того, что charset_name
соответствует charset
.
11.3. Метод _mysql_connector.MySQL.affected_rows()
count = ccnx.affected_rows()
UPDATE
,
INSERT
или
DELETE
.
11.4. Метод _mysql_connector.MySQL.autocommit()
ccnx.autocommit(
bool
)
ValueError
, если
mode
не True
или
False
.
11.5. Метод _mysql_connector.MySQL.buffered()
is_buffered = ccnx.buffered() # getter
ccnx.buffered(
bool
) # setter
True
или
False
, чтобы указать буферизует ли экземпляр
MySQL
результаты.MySQL
.TypeError
, если значение не
True
или False
.
11.6. Метод _mysql_connector.MySQL.change_user()
ccnx.change_user(user='
user_name
,
password='password_val
',
database='db_name
')
user
,
password
и
database
.
11.7. Метод _mysql_connector.MySQL.character_set_name()
charset = ccnx.character_set_name()
'utf8mb4'
возвращено как 'utf8'
.
11.8. Метод _mysql_connector.MySQL.close()
ccnx.close()
11.9. Метод _mysql_connector.MySQL.commit()
ccnx.commit()
11.10. Метод _mysql_connector.MySQL.connect()
ccnx.connect(
args
)
import _mysql_connector
ccnx = _mysql_connector.MySQL()
ccnx.connect(user='scott', password='
password
',
host='127.0.0.1', database='employees')
ccnx.close()
connect()
понимает следующие аргументы:
host
, user
,
password
, database
,
port
, unix_socket
,
client_flags
,
ssl_ca
, ssl_cert
,
ssl_key
,
ssl_verify_cert
,
compress
. См.
раздел 7.1.ccnx
уже связан,
connect()
сбрасывает любой набор результатов и
завершает связь прежде, чем вновь ее открыть.TypeError
,
если какой-либо аргумент имеет неправильный тип.
11.11. Метод _mysql_connector.MySQL.connected()
is_connected = ccnx.connected()
True
или
False
, чтобы указать, подключен ли экземпляр
MySQL
.
11.12. Метод _mysql_connector.MySQL.consume_result()
ccnx.consume_result()
MySQL
, получая все строки.
Если запрос, который был выполнен, возвратил много наборов результатов, этот
метод поглощает всех их.
11.13. Метод _mysql_connector.MySQL.convert_to_mysql()
converted_obj = ccnx.convert_to_mysql(
obj
))
ccnx.query('SELECT CURRENT_USER(), 1 + 3, NOW()')
row = ccnx.fetch_row()
for col in row:
print(ccnx.convert_to_mysql(col))
ccnx.consume_result()
MySQLInterfaceError
,
если объект не может быть преобразован.
11.14. Метод _mysql_connector.MySQL.escape_string()
str = ccnx.escape_string(
str_to_escape
)
mysql_escape_string()
,
чтобы создать строку SQL, которую можно использовать в SQL-операторе.TypeError
, если у
значения нет типа Unicode
,
bytes
или (для Python 2)
string
. Поднимает исключение
MySQLError
, если строку нельзя
было бы экранировать.
11.15. Метод _mysql_connector.MySQL.fetch_fields()
field_info = ccnx.fetch_fields()
MySQLInterfaceError
,
для любой ошибки MySQL, возвращенной сервером MySQL.
ccnx.query('SELECT CURRENT_USER(), 1 + 3, NOW()')
field_info = ccnx.fetch_fields()
for fi in field_info:
print(fi)
ccnx.consume_result()
11.16. Метод _mysql_connector.MySQL.fetch_row()
row = ccnx.fetch_row()
raw
.
ccnx.query('SELECT CURRENT_USER(), 1 + 3, NOW()')
row = ccnx.fetch_row()
print(row)
ccnx.free_result()
MySQLInterfaceError
для любой ошибки MySQL, возвращенной сервером MySQL.
11.17. Метод _mysql_connector.MySQL.field_count()
count = ccnx.field_count()
11.18. Метод _mysql_connector.MySQL.free_result()
ccnx.free_result()
MySQL
.
Если запрос, который был выполнен, возвратил много наборов результатов, этот
метод обработает все.
11.19. Метод _mysql_connector.MySQL.get_character_set_info()
info = ccnx.get_character_set_info()
number
, name
,
csname
, comment
,
dir
, mbminlen
и
mbmaxlen
.
11.20. Метод _mysql_connector.MySQL.get_client_info()
info = ccnx.get_client_info()
11.21. Метод _mysql_connector.MySQL.get_client_version()
info = ccnx.get_client_version()
11.22. Метод _mysql_connector.MySQL.get_host_info()
info = ccnx.get_host_info()
11.23. Метод _mysql_connector.MySQL.get_proto_info()
info = ccnx.get_proto_info()
11.24. Метод _mysql_connector.MySQL.get_server_info()
info = ccnx.get_server_info()
11.25. Метод _mysql_connector.MySQL.get_server_version()
info = ccnx.get_server_version()
11.26. Метод _mysql_connector.MySQL.get_ssl_cipher()
info = ccnx.get_ssl_cipher()
None
, если SSL не используется.
11.27. Метод _mysql_connector.MySQL.hex_string()
str = ccnx.hex_string(
string_to_hexify
)
X''
. Например,
"ham"
становится
X'68616D'
.
11.28. Метод _mysql_connector.MySQL.insert_id()
insert_id = ccnx.insert_id()
AUTO_INCREMENT
, произведенное
последним выполненным запросом, или 0, если такой нет.
11.29. Метод _mysql_connector.MySQL.more_results()
more = ccnx.more_results()
True
или
False
, указывая, существуют ли
еще наборы результатов.
11.30. Метод _mysql_connector.MySQL.next_result()
ccnx.next_result()
MySQLInterfaceError
для любой ошибки MySQL, возвращенной сервером MySQL.
11.31. Метод _mysql_connector.MySQL.num_fields()
count = ccnx.num_fields()
11.32. Метод _mysql_connector.MySQL.num_rows()
count = ccnx.num_rows()
MySQLError
, если нет
никакого набора результатов.
11.33. Метод _mysql_connector.MySQL.ping()
alive = ccnx.ping()
True
или
False
, указывая, работает
ли связь с сервером MySQL.
11.34. Метод _mysql_connector.MySQL.query()
ccnx.query(
args
)
statement
,
buffered
,
raw
и
raw_as_string
.
ccnx.query('DROP TABLE IF EXISTS t')
ccnx.query('CREATE TABLE t (i INT NOT NULL AUTO_INCREMENT PRIMARY KEY)')
ccnx.query('INSERT INTO t (i) VALUES (NULL),(NULL),(NULL)')
ccnx.query('SELECT LAST_INSERT_ID()')
row = ccnx.fetch_row()
print('LAST_INSERT_ID(): ', row)
ccnx.consume_result()
buffered
и raw
,
если не заданы, берут значения из экземпляра
MySQL
.
raw_as_string
специальный аргумент для Python v2
возвращает str
вместо
bytearray
(совместимый с Connector/Python v1.x).
have_result_set
экземпляра
MySQL
.query()
вернет
True
, если вопрос выполняется и поднимает
исключение иначе. Это поднимает исключение
TypeError
, если у какого-либо аргумента есть
неправильный тип и MySQLInterfaceError
для любой ошибки MySQL, возвращенной сервером MySQL.
11.35. Метод _mysql_connector.MySQL.raw()
is_raw = ccnx.raw() # getter
ccnx.raw(
bool
) # setter
True
или
False
указывая, что экземпляр
MySQL
возвращает строки как есть
(без преобразования в объекты Python).MySQL
.
11.36. Метод _mysql_connector.MySQL.refresh()
ccnx.refresh(
flags
)
TypeError
, если первый
аргумент не целое число.
11.37. Метод _mysql_connector.MySQL.rollback()
ccnx.rollback()
MySQLInterfaceError
на любых ошибках.
11.38. Метод _mysql_connector.MySQL.select_db()
ccnx.select_db(
db_name
)
MySQLInterfaceError
для любой ошибки MySQL, возвращенной сервером MySQL.
11.39. Метод _mysql_connector.MySQL.set_character_set()
ccnx.set_character_set(
charset_name
)
TypeError
, если аргумент
не PyString_type
.
11.40. Метод _mysql_connector.MySQL.shutdown()
ccnx.shutdown(
flags
)
TypeError
, если первый
аргумент не целое число. Поднимает исключение
MySQLErrorInterface
,
если ошибка возвращена сервером MySQL.
11.41. Метод _mysql_connector.MySQL.stat()
info = ccnx.stat()
MySQLErrorInterface
,
если ошибка возвращена сервером MySQL.
11.42. Метод _mysql_connector.MySQL.thread_id()
thread_id = ccnx.thread_id()
11.43. Метод _mysql_connector.MySQL.use_unicode()
is_unicode = ccnx.use_unicode() # getter
ccnx.use_unicode(
bool
) # setter
True
или
False
указывая, возвращает ли экземпляр
MySQL
недвоичные строки как Unicode.MySQL
недвоичные строки как Unicode.
11.44. Метод _mysql_connector.MySQL.warning_count()
count = ccnx.warning_count()
11.45. _mysql_connector.MySQL.have_result_set Property
has_rows = ccnx.have_result_set
query()
указывает, возвращает ли запрос строки.
Найди своих коллег! |
Вы можете направить письмо администратору этой странички, Алексею Паутову.