|
|
|
|||
| 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()
указывает, возвращает ли запрос строки.
| Найди своих коллег! |
Вы можете
направить письмо администратору этой странички, Алексею Паутову.
![]()