| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Справочник по Python
В
действительности есть несколько модулей Python, предоставляющих доступ к базам
данных MySQL и mSQL. В большинстве аспектов они очень схожи между собой. В этой
главе приводятся спецификации API для двух наиболее часто используемых модулей.
Однако важно указать на приближающуюся унификацию разных API для баз данных в
едином API, специфицированном Python Database SIG. В настоящее время mSQL не
поддерживает этот API.
Модуль: MySQL Точкой входа
в модуль Python для MySQL является метод MySQL.connect(). Значение, возвращаемое
этим методом, представляет подключение к серверу MySQL, которое вы можете
использовать для всех операций с MySQL. Метод: MySQL.connect() Запись
connection
= MySQL.connect(host) Краткий
обзор Подключается
к базе данных MySQL на указанном сервере. Если вызвать connect() без аргументов,
будет выполнено подключение к базе данных MySQL на локальном компьютере. Метод
возвращает объект Python, представляющий подключение к базе данных MySQL. Пример conn =
MySQL.connect('carthage.irnaginary.com'); Метод: connection.selectdb() Запись
connection,
selectdb(database) Краткий
обзор Выбирает
базу данных, с которой вы собираетесь работать. Пример connection.
selectdb('test'); Метод: connection.do() Запись results =
connection.do(sql) Краткий
обзор Посылает на
выполнение указанную команду SQL в текущую выбранную базу данных. Результаты
возвращаются как список списков, где каждый список представляет одну запись.
Метод также используется для изменения данных, в этом случае вы просто не
обрабатываете возвращаемое значение. Пример results = conn.do('SELECT title, year FROM movies'); row1 =
results[0]; Метод: connection.query() Запись statement_handle = connection. query(sgl) Краткий
обзор Как и метод
do(), этот метод посылает указанную SQL-команду текущей выбранной базе данных.
Отличие этого метода от do() заключается в том, что он возвращает объект -
описатель команды, который инкапсулирует информацию о результате запроса SQL,
также как и сами результаты. Пример hndl = conn. query(' SELECT title, year FROM movies'); Метод: statement_handle.affectedrows() Запись rowcount = statement_handle.affectedrows() Краткий
обзор Считая, что
этот описатель команды представляет результаты выполнения команд SQL UPDATE,
DELETE или INSERT, данный метод возвращает число записей, реально измененных
этим запросом. Пример rowcount =
hnd1.affectedrows() Метод: statement_handle.numrows() Запись
rowcount = statement_handle.numrows() Краткий
обзор Считая, что
этот описатель команды представляет результаты выполнения команды SELECT, данный
метод выдает число записей в результирующем наборе. Пример rowcount =
hndl. numrows() Метод: statement_handle.fields() Запись list =
statement_handle.fields() Краткий
обзор
Предоставляет метаинформацию о столбцах в результате, возвращаемом запросом.
Полученный список является списком списков. Каждый элемент возвращаемого списка
- это список с метаинформацией об отдельном столбце. Другими словами, в
возвращаемом списке будет один элемент для каждого столбца в результирующем
наборе. Первый элемент списка представляет первый столбец, второй элемент -
второй столбец и т. д. Метаданные
для каждого столбца являются списком из пяти элементов:
Пример 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() Запись
list =
statement_handle.fetchrows(rownum) Краткий
обзор Выбирает
значение записи с указанным номером из результирующего набора, представленного
описателем команды. Если в качестве аргумента передать —1, этот метод вернет
список со всеми записями. Каждая запись в этом списке представлена списком с
количеством элементов, равным числу столбцов в результирующем наборе. Первый
элемент списка представляет значение первого столбца, второй элемент
представляет второй столбец и т. д. Пример rows = hndl.fetchrows(-l); for row in
rows: coll =
row[0]; со12 = row[1]; Метод: connection.listdbs() Запись dbs =
connection.listdbs() Краткий
обзор
Предоставляет список доступных баз данных на сервере. Пример dbs =
conn.listdbs() Метод: connection.listtables() Запись
tables
= connection. listtables(); Краткий
обзор
Предоставляет список таблиц, хранящихся в базе данных. Пример tables =
conn. listtables();
Модуль: mSQL Модуль mSQL
очень похож на модуль MySQL. Точкой входа в модуль является метод
mSQL.connect(). Возвращаемое им значение представляет подключение к базе данных
mSQL, которое вы можете использовать для всех операций с mSQL.
Метод: mSQL.connect() Запись connection - mSQL.connect()
connection - mSQL.connect(host) Краткий
обзор Подключается
к базе данных mSQL на указанном сервере. Если вы не укажете аргументов, будет
выполнено подключение к базе данных на локальном компьютере. Метод возвращает
описатель подключения к mSQL, который вы можете использовать для доступа к базе
данных. Пример connection =
mSQL.connect('carthage.imaginary, com')
Метод: cormection.selectdb() Запись
connection,
selectdb(database) Краткий
обзор Выбирает имя
базы данных для вашего подключения. Все дальнейшие операции с подключением будут
относиться к выбранной базе данных до тех пор, пока вы не укажете новую базу
данных. Пример
connection.selectdb('test'); Метод:
connection.query() Запись
results = connection.
query(sq1) Краткий
обзор Посылает на
выполнение в текущую выбранную базу данных указанную команду SQL. Результат
возвращается как список кортежей, где каждый кортеж представляет одну запись.
Этот метод также используется для изменения данных, в этом случае вы просто не
обрабатываете возвращаемое значение. Пример results = conn.query('SELECT title, year FROM movies'); rowl =
results[0]; Метод:
connection.listdbs() Запись
dbs - connection.
listdbs() Краткий
обзор
Предоставляет список доступных баз данных на сервере. Пример dbs =
conn.listdbs() Метод: connection.listtables() Запись
connection.listtables() Краткий
обзор
Предоставляет список таблиц, хранящихся в базе данных. Пример tables =
conn.listtables()
Атрибут: connection.serverinfo Краткий
обзор Возвращает
версию сервера mSQL, с которым установлено соединение. Пример info =
connection.serverinfo; Атрибут: connection.hostname Краткий
обзор Возвращает
имя сервера, на котором запущен сервер mSQL. Пример host = connection.hostname Рубрика: Часть III. Справочник
Подгрузка через AJAX HTML-кода, содержащег....
При разработке CMS S.Builder наша команда активно использовала AJAX. Теперь вот решили поделиться накопленным опытом. Начнем с этого хабратопика. Не буду здесь затрагивать различные фреймворки и библиотеки. Свой код всегда роднее. Для работы с AJAX-ом в S.Builder написана библиотека sbAJAX. Можете качать и пользоваться :). В этом файле есть функция sbEvalJS. Для тех, кто не знает, объясню. При подгрузке через AJAX и вставке на страницу HTML-кода, содержащего JavaScript, JavaScript выполняться не будет или полезут баги. Эта функция как раз решает поставленную задачу.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Обзор нового релиза самой мощной Ajax библ....
Хотя наш обзор немного запоздал, оригинальный Dojo 1.2 вышел в релизной версии ещё 6-го октября, но сейчас мы наверстаем упущенное. И так, Dojo Toolkit — это самая мощная и гибкая ajax-библиотека из всех, что есть на рынке, она активно развивается и имеет большое комьюнити. Кстати, это самое комьюнити, совместно с компанией Sitepen, имеет ещё несколько проектов, среди которых и Cometd и некоторые другие, не менее интересные, о которых мы скоро вам расскажем. Сегодня же все внимание на флагманский продукт — Dojo 1.2.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Firebug 1.3 и 1.4 alpha — что нового и инт....
Если вы профессиональный веб-разработчик и постоянно имеете дело с разработкой и отладкой сложных AJAX приложений, то наверняка знаете и используете Firebug — плагин для браузера Firefox, предназначенный для отладки и исследования веб-приложений. Текущая его версия, 1.2х достаточно стабильная и функциональна, чтобы помочь в 99% проблем, которые могут возникнуть при разработке. Но и этот инструмент не лишён если не недостатков, то некоторых фич, которые могли бы облегчить работу. И даже идеальный инструмент можно сделать ещё более идеальным, как бы это не звучало.
Подробнее... |
Рубрика: Вебмастеру
| Добавлено: 19.11.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|