Справочник по Python

         

В действительности есть несколько модулей



Глава №20.

Справочник по Python

В действительности есть несколько модулей Python, предоставляющих доступ к базам данных MySQL и mSQL. В большинстве аспектов они очень схожи между собой. В этой главе приводятся спецификации API для двух наиболее часто используемых модулей. Однако важно указать на приближающуюся унификацию разных API для баз данных в едином API, специфицированном Python Database SIG. В настоящее время mSQL не поддерживает этот API.



Краткий обзор



Краткий обзор

Подключается к базе данных MySQL на указанном сервере. Если вызвать connect() без аргументов, будет выполнено подключение к базе данных MySQL на локальном компьютере. Метод возвращает объект Python, представляющий подключение к базе данных MySQL.



Краткий обзор



Краткий обзор

Выбирает базу данных, с которой вы собираетесь работать.





Краткий обзор



Краткий обзор

Как и метод do(), этот метод посылает указанную SQL-команду текущей выбранной базе данных. Отличие этого метода от do() заключается в том, что он возвращает объект - описатель команды, который инкапсулирует информацию о результате запроса SQL, также как и сами результаты.



Краткий обзор



Краткий обзор

Считая, что этот описатель команды представляет результаты выполнения команд SQL UPDATE, DELETE или INSERT, данный метод возвращает число записей, реально измененных этим запросом.



Краткий обзор



Краткий обзор

Считая, что этот описатель команды представляет результаты выполнения команды SELECT, данный метод выдает число записей в результирующем наборе.



Краткий обзор



Краткий обзор

Предоставляет метаинформацию о столбцах в результате, возвращаемом запросом. Полученный список является списком списков. Каждый элемент возвращаемого списка - это список с метаинформацией об отдельном столбце. Другими словами, в возвращаемом списке будет один элемент для каждого столбца в результирующем наборе. Первый элемент списка представляет первый столбец, второй элемент - второй столбец и т. д.

Метаданные для каждого столбца являются списком из пяти элементов:

Строка, содержащая имя столбца.
Строка, содержащая имя таблицы, откуда взят столбец.
Строка с названием типа данных SQL для этого столбца.
Целое int, содержащее размер столбца.
Строка, содержащая модификаторы столбца, такие как NOTNULL.



Краткий обзор



Краткий обзор

Выбирает значение записи с указанным номером из результирующего набора, представленного описателем команды. Если в качестве аргумента передать —1, этот метод вернет список со всеми записями. Каждая запись в этом списке представлена списком с количеством элементов, равным числу столбцов в результирующем наборе. Первый элемент списка представляет значение первого столбца, второй элемент представляет второй столбец и т. д.



Краткий обзор



Краткий обзор

Предоставляет список доступных баз данных на сервере.



Краткий обзор



Краткий обзор

Предоставляет список таблиц, хранящихся в базе данных.



Краткий обзор



Краткий обзор

Подключается к базе данных mSQL на указанном сервере. Если вы не укажете аргументов, будет выполнено подключение к базе данных на локальном компьютере. Метод возвращает описатель подключения к mSQL, который вы можете использовать для доступа к базе данных.



Краткий обзор



Краткий обзор

Выбирает имя базы данных для вашего подключения. Все дальнейшие операции с подключением будут относиться к выбранной базе данных до тех пор, пока вы не укажете новую базу данных.



Краткий обзор



Краткий обзор

Посылает на выполнение в текущую выбранную базу данных указанную команду SQL. Результат возвращается как список кортежей, где каждый кортеж представляет одну запись. Этот метод также используется для изменения данных, в этом случае вы просто не обрабатываете возвращаемое значение.



Краткий обзор



Краткий обзор

Предоставляет список доступных баз данных на сервере.



Краткий обзор



Краткий обзор

Предоставляет список таблиц, хранящихся в базе данных.



Краткий обзор



Краткий обзор

Возвращает версию сервера mSQL, с которым установлено соединение.



Метод



Метод:

connection.do()

Запись

results = connection.do(sql)



Модуль mSQL



Модуль: mSQL

Модуль mSQL очень похож на модуль MySQL. Точкой входа в модуль является метод mSQL.connect(). Возвращаемое им значение представляет подключение к базе данных mSQL, которое вы можете использовать для всех операций с mSQL.

Метод: mSQL.connect()



Модуль MySQL



Модуль: MySQL

Точкой входа в модуль Python для MySQL является метод MySQL.connect(). Значение, возвращаемое этим методом, представляет подключение к серверу MySQL, которое вы можете использовать для всех операций с MySQL.

Метод: MySQL.connect()



Метод: connection.selectdb()



Пример

conn = MySQL.connect('carthage.irnaginary.com');

Метод: connection.selectdb()
Запись

connection, selectdb(database)



Пример connection. selectdb('test');



Пример

connection. selectdb('test');



SELECT title, year FROM



Пример

results = conn.do(' SELECT title, year FROM movies');
row1 = results[0];

Метод: connection.query()

SELECT title, year FROM



Пример

hndl = conn. query(' SELECT title, year FROM movies');
Метод: statement_handle.affectedrows()

Метод: statement_handle.numrows()



Пример

rowcount = hnd1.affectedrows()

Метод: statement_handle.numrows()

Метод: statement_handle.fields()



Пример

rowcount = hndl. numrows()

Метод: statement_handle.fields()

for column in fids: name



Пример

flds = hndl.fields();
for column in fids: name = column[0];
table = column[1]; type = column[2];
size = columns[3]; mods = column[4];

Метод: statement_handle.fetchrows()

for row in



Пример

rows = hndl.fetchrows(-l);
for row in rows:

coll = row[0]; со12 = row[1];

Метод: connection.listdbs()
Запись

dbs = connection.listdbs()



Метод: connection.listtables()



Пример

dbs = conn.listdbs()

Метод: connection.listtables()

Пример tables = conn. listtables();



Пример

tables = conn. listtables();



Метод: cormection.selectdb()



Пример

connection = mSQL.connect('carthage.imaginary, com')

Метод: cormection.selectdb()



Метод: connection.query()



Пример

connection.selectdb('test');

Метод: connection.query()



SELECT title, year FROM



Пример

results = conn.query(' SELECT title, year FROM movies');
rowl = results[0];

Метод: connection.listdbs()



Метод: connection.listtables()



Пример

dbs = conn.listdbs()

Метод: connection.listtables()

Атрибут: connection.serverinfo



Пример

tables = conn.listtables()

Атрибут: connection.serverinfo



Возвращает имя сервера, на котором



Пример

info = connection.serverinfo;

Атрибут: connection.hostname
Краткий обзор

Возвращает имя сервера, на котором запущен сервер mSQL.



Пример host = connection.hostname



Пример

host = connection.hostname

Запись



Запись

connection = MySQL.connect(host)



Запись



Запись

statement_handle = connection. query(sgl)



Запись



Запись

rowcount = statement_handle.affectedrows()



Запись



Запись

rowcount = statement_handle.numrows()



Запись



Запись

list = statement_handle.fields()



Запись



Запись

list = statement_handle.fetchrows(rownum)



Запись



Запись

tables = connection. listtables();



Запись



Запись

connection - mSQL.connect()

connection - mSQL.connect(host)



Запись



Запись

connection, selectdb(database)



Запись



Запись

results = connection. query(sq1)



Запись



Запись

dbs - connection. listdbs()



Запись



Запись

connection.listtables()