MySQL & mSQL



              

Основы подключения к базам данных


API для Python являются, вероятно, самыми простыми API для работы с базами данных из всех, встречающихся в этой книге. Как и для других API, начать нужно с подключения к базам данных — установления соединения. Поскольку Python имеет интерактивный интерфейс, продемонстрировать соединение проще всего с помощью интерпретатора командной строки. Ниже показаны две сессии Python, демонстрирующие простое соединение с базами данных MySQL и mSQL соответственно. В первом примере производится соединение с базой данных MySQL:

[4:30pm] athens> python

Python 1.5.1 (#1, Jun 13 1998, 22:38:15) [GCC 2.7.2] on sunos5

Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam

>>> import MySQL;

>>> db = MySQL.connect( 'athens. imaginary.com');

>>> db.selectdb('db_test');

>>> result = db.do('select test_val from test where test_id = 1');

>>> print result;

[['This is a MySQL test.']]

>>>

Код для mSQL, делающий то же самое, выглядит почти идентично:

[4:30pm] athens> python

Python 1.5.1 (#1, Jun 13 1998, 22:38:15) [GCC 2.7.2] on sunos5

Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam

>>> import mSQL;

>>> db = mSQL.connect('athens. imaginary.com');

>>> db.selectdb('db_test');

>>> result = db.query('select test_val from test where test_id = 1');

>>> print result;

[('This is a mSQL test.',)]

>>>

В обоих случаях прежде всего нужно импортировать соответствующий модуль Python. He следует использовать синтаксис mSQL import *, так как он засорит пространство имен вашего приложения. Вместо этого в каждом модуле следует получить экземпляр описателя базы данных с помощью метода connect() и использовать этот описатель для доступа к базе данных.

Вызов connect() в обоих API схож, но не одинаков. В приведенном примере подключения к MySQL мы подключаемся к базе данных, для которой разрешен глобальный доступ. Поскольку в этом случае не требуется указания имени пользователя или пароля, вызов connect() для сессии MySQL выглядит так же, как для сессии mSQL. Однако вы можете задать имя пользователя и пароль, если того требует ваша база данных MySQL. Например, db = MySQL.connect( 'athens. imaginary.com', 'myuid', 'password'); подключит вас к серверу MySQL на athens.imagi-nary.com в качестве «myuid» с паролем «password». Тот и другой API не требуют имени узла при локальном подключении. В этом случае они достаточно сообразительны и для более быстрого соединения используют сокет домена Unix (на Unix-системах).




Содержание  Назад  Вперед