Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

 
liveinternet.ru: показано количество просмотров и посетителей

Библиотека :: Компьютеры и Программирование :: Начинаем изучать MySQL
<<-[Весь Текст]
Страница: из 157
 <<-
 
книги текущей версией была Msql-Mysql-modules-1.2017.tar.gz.
После загрузки пакета разархивируйте его:
tar xvzf Msql-Mysql-modules-1.2017.tar.gz
cd Msql-Mysql-modules-1.2017
В каталоге дистрибутива есть файл INSTALL, содержащий несколько советов по 
установке. Сначала нужно выполнить файл Makefile.PL:
perl Makefile.PL
Эта команда сначала спрашивает, желаете ли вы установить модули для mSQL, MySQL 
или те и другие. Можно установить модули для любого установленного вами сервера 
баз данных.
После проверки системы программа запрашивает местоположение установки mSQL. Это 
каталог, содержащий подкаталоги lib и include, в которых расположены библиотеки 
и включаемые файлы mSQL. По умолчанию этим каталогом является /usr/local 
/Hughes, но обязательно проверьте это, поскольку во многих системах 
используется /usr/local или даже /usr/local/Minerva.
Затем сценарий установки запрашивает путь к MySQL. Как и в случае mSQL, это 
каталог, содержащий надлежащие подкаталоги lib и include, по умолчанию - 
/usr/local. Это расположение верно для большинства установок, но следует 
обязательно проверить, не используются ли другие каталоги.
После установки сценарий создает соответствующие make-файлы и завершается. 
Затем нужно запустить make и скомпилировать файлы.
make
Если вы правильно установили Perl, mSQL и/или MySQL, то команда make должна 
пройти без ошибок. После завершения ее работы будут созданы все модули, и 
единственное, что останется - это протестировать и установить их.
make test
Во время выполнения по экрану пробегает ряд отладочных имен, за каждым из 
которых должно следовать . . . ok. И наконец, нужно установить модули.
make install
У вас должно быть разрешение записи в каталог установки Perl. Кроме того, 
необходимо иметь разрешение на запись в системный каталог для программ (обычно 
/usr/local/bin или /usr/bin), чтобы установить поставляемые с модулем 
вспомогательные программы pmsql, pmysql и dbimon.
DBI.pmAPI
DBI API является стандартным API баз данных в Perl. Поэтому, хотя MsqPerl и 
MysqlPerl могут быть более распространены в унаследованных программах, новые 
программы следует писать с использованием DBI.
use
use DBI;
Следует объявлять во всех программах Perl, использующих модуль DBI.
DBI::available_drivers
@available_drivers = DBI->available_drivers;
@available_drivers = DBI->available_drivers($quiet);
DBI: :available_drivers возвращает список имеющихся драйверов DBD. Функция 
выполняет это, осуществляя поиск модулей DBD в дистрибуции Perl. Если в 
аргументе не передано значение true, то при обнаружении двух одноименных 
модулей DBD выводится предупреждение. В текущем дистрибутиве Msql-Mysql драйвер 
для mSQL называется 'mSQL', а драйвер для MySQL - 'mysqP.
Пример
use DBI;
my @drivers = DBI->available_drivers;
print "Доступны следующие драйверы:\n" . join("\n",@drivers) . "\n Ho нас 
интересуют только mSQL и mysql. :)\n";
DBI::bind_col
$result = $statement_handle->bind_col($col_num, \$col_variable, \%unused);
DBI: :bind_col связывает колонку команды SELECT с переменной Perl. При всяком 
чтении или изменении колонки изменяется значение соответствующей переменной. 
Первым аргументом является номер колонки в команде, при этом колонки нумеруются 
с 1. Второй аргумент — ссылка на переменную Perl, которая должна быть привязана 
к колонке. Необязательный третий аргумент ссылается на хэш атрибутов. В DBD: 
:mysql и DBD: :mSQL он не используется. При невозможности в силу каких-то 
причин сделать привязку функция возвращает неопределенное значение undef.
Пример
use OBI;
my $db = DBI->connect('DBI:mSQL:mydata', undef,undef);
my $query = "SELECT name, date FROM myothertable";
my $myothertable_output = $db->prepare($query);
my ($name, $date);
$myothertable_output->bind_col(1,\$name,undef);
$myothertable_output»bind_col(2, \$date, undef);
# Теперь $name и Sdate привязаны к соответствующим полям выходных данных.
$myothertable_output->execute;
while ($myothertable_output->fetch) {
# Каждый раз $name и $date автоматически изменяются.
print "Имя: $name Дата: $date\n"; }
DBI::bmd_columns
$result = $statement_handle->bincl_columns(\%unused, @list_of_refs_to_vars);
DBI: : bind_columns привязывает весь список скалярных ссылок к значениям 
соответствующих полей в выдаче. Первый аргумент функции -ссылка на хэш 
атрибутов, как в DBI: :bind_col . DBD::mSQL и DBD::mysql не используют этот 
 
<<-[Весь Текст]
Страница: из 157
 <<-