Все материалы предоставлены только с ознакомительной целью
Главная — Статьи — Кодинг — Perl. Работа с MySQL
Perl. Работа с MySQL
© Cobalt 20.05.2006 статья не оптимизирована
© Cobalt 20.05.2006 статья не оптимизирована
Для работы с БД MySQL в Perl существуют целых два способа. Первый из них состоит в использовании модуля DBI. В этой статье я не буду описывать этот способ. Если ты хочешь узнать о нем подробнее, то можешь почитать следущую документацию: Домашняя страничка DBI Второй способ, который сне больше нравится заключается в использовании модуля Mysql. Обычно он уже включен в стандартную поставку Perl. Но если ты, как и автор данного мануала, юзаешь ActivePerl, то с установкой у тебя проблем не возникнет. Достаточно подключиться к интернету и запустить ppm.bat . С помощью этой утилиты можно установить любые недостающие модули. Для использования функций работа с MySQL необходимо подключить модуль: use Mysql; После чего надо подключиться к БД. Делается это так: $db = Mysql->Connect($host,$database,$password,$user); Если команда Connect используется без аргументов, или с пустой строкой в качестве первого аргумента, то мы свяжемся с устройством UNIX /dev/mysql. Это обычно повышает производительность соединения. Если не указан аргумент $database, то нам в последствии придеться выполнить команду выбора базы данных: $db->SelectDB($database); Теперь можно приступать к работе с базой. Для начала просмотрим список полей в одной из ее таблиц. Делается это командой: $sth=ListFields($db,$table); После ее выполнения, мы можем извлеч из объекта $sth интересующую нас информацию. @arr=$sth->name Возвращает массив имен столбцов @arr=$sth->length Возвращает массив длин столбцов $val=$sth->numfields Возвращает количество столбцов в таблице @arr=$sth->type Массив MySQL типов @arr=$sth->is_num Массив 0 и 1, где 1 указывает что столбец числовой @arr=$sth->is_blob Массив 0 и 1, где 1 указывает что столбец - blob @arr=$sth->is_not_null Массив 0 и 1, где 1 указывает что столбец - не NULL Узнать список имеющихся баз данных можно командой: @arr=$db->ListDBs; Тоже самое, чтобы узнать список таблиц в базе, надо выполнить: @arr=$db->ListTables; Для того чтобы выполнить SQL запрос, необходимо воспользоваться командой $sth=$db->Query($sql); Результат выполнения запроса $sql можно получить командами FetchRow, FetchCol и FetchHash. Их ситаксис следущий: @arr=$sth->FetchRow; Возвращает в массиве первую строку результата запроса. @arr=$sth->FetchCol($col); Возвращает массив элементов колонки с номером $col из результата запроса. %hash=$sth->FetchHash; Возвращает ассоциативный массив, содержащий следующую строку, полученную с сервера. Так же можно сразу переместиться на определенную стоку результата запроса воспользовавшись командой: DataSeek($sth, $number); Как известно, некоторые символы при занесении в MySQL необходимо экранировать. Для этого служит команда: $scaler=$db->quote($string); Ну вот собственно говоря и все. Кому-то может быть покажется что эти функции чем-то похожи на php, кому-то на c++, но главное то что они довольно просты в применении. Линки по теме: Домашняя страничка Mysql Домашняя страничка msql Успехоф тебе в работе с БД ).
© Cobalt 20.05.2006 статья не оптимизирована

А как можно выполнить SQL запросы каторые храняться в файлах?