n Ho нас интересуют только
Пример
use DBI;
my @drivers = DBI->available_drivers;
print "Доступны следующие драйверы:\n" . join("\n",@drivers) . "\ n Ho нас интересуют только mSQL и mysql. :)\n";
Пример
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"; }
Пример
use DBI;
my $db = DBI->connect('DBI:mSQL:mydata',undef,undef);
my $query = " SELECT name, date FROM myothertable";
my $myothertable_oulput = $db->prepare($query);
my ($name, $date);
$mynfhertable_outpul->bind_columns(undef, \($name, $daLe));
# $name и $date теперь привязаны к соответствующим полям в выдаче,
$myothertable_output->execute;
while ($myothertable_output->fetch)
{
# $name и $date каждый раз автоматически изменяются.
print "Имя: $name Дата: $date\n";
}
Пример
use DBI;
my $db = DBI->connect('DBD:msql:mydata','me','mypass');
my Sstatement = $db->prepare(
" SELECT name, date FROM myothertable WHERE name like ? OR name like ?");
$statement->bind_param(1,'J%','SQL_CHAR');
$statement->bind_param(2,'%oe%', { TYPE => &DBI::SQL_CHAR });
# Теперь команда будет такой:
# SELECT name, date FROM myothertable WHERE name like 'J%' or name like
'%oe%'
Пример
use DBI;
my $db1 = DBI->connect('DBI: mSQL:mydata',undef,undef);
# Теперь $db1 представляет соединение с базой данных 'mydata'на локальном
# сервере mSQL.
my $db2 = DBI->connect( 'DBI:mysql:mydata:myser-ver.com','me','mypassword');
# Теперь $db2 представляет соединение с базой данных 'mydata' сервера MySQL
# 'myserver.com' через порт по умолчанию.
# При соединении использовались имя пользователя 'те' и пароль 'mypassword'.
my $db3 = DBI->connect('DBI:mSQL:mydata',undef,undef, {
RaiseError => 1 });
# Теперь $db3 - такое же соединение, как $db1, за исключением того, что
# установлен атрибут 'RaiseError'.
Пример
use DBI;
my §msql_data_sources = DBI->data_sources('mSQL');
my @mysql_data_sources = DBI->data_sources('mysql');
# Должны быть установлены DBD::mSQL и DBO::mysql, иначе
# выполнение программы прекратится.
print "mSQL databases:\n" . join("\n",@msql_data_sources) , "\n\n";
print "MySQL databases:\n" . join("\n",@mysql_data_sources) . "\n\n";
Пример
use DBI;
my $db = DBI->connect('DBI:mSQL:mydata',undef,undef);
my $rows_affected = $db->do("UPDATE mytable SET name='Joe' WHERE name='Bob"');
print "$ rows_affected Joe заменены на Bob's\n";
my $rows_affected2 = $db->do("INSERT INTO mytable (name) VALUES (?)", {}, ("Sheldon's Cycle"));
# После заключения в кавычки и подстановки
# серверу базы данных посылается команда
#INSERT INTO mytable (name) VALUES ('Sheldon's Cycle')
Пример
use DBI;
my $db1 = DBI->connect( 'DBI:mSQL:mydata',undef,undef);
my $db2 = OBI->connect('DBI:mSQL:mydata2',undef,undef);
$db1->disconnect;
# Соединение ' mydata' разорвано. Соединение с 'mydata2'
# продолжает действовать.
Пример
use DBI;
my $db = DBI->connect('DBI:mSQL:mydata',undef,undef);
my Squery = " SELECT name, date FROM myothertable";
my $myothertable_output = $db->prepare($query);
$myothertable_output->execute;
print DBI::dump_results($myothertable_output);
# Вывести результаты в аккуратной таблице.
open(MYOTHERTABLE, ">>myothertable");
print DBI: :dump_results($iriyothertable_output,
undef,undef,undef,\*MYOTHERTABLE);
# Снова вывести результаты в файл 'myothertable,'.
Пример
use DBI;
my $db = DBI->connect('DBI:mysql:mydata',
'webuser','super_secret_squirrel');
# Этот запрос имеет синтаксическую ошибку...
my Soutput = $db->prepare('SLECT * from mydata');
$output->execute;
if (not $output) {
print "Error $DBI:err: $DBI:errstr\n"; }
Пример
Use DBI;
my $db = DBI->connect('DBI:mysql:mydata',
'wcbuscr','super_secret_squirrel');
my $error = $db->errstr;
warn(" Boj последняя ошибка DBI: $error");
Пример
use DBI;
my $db = DBI->connect('OBI:mSQL:mydata',undef,undef);
my $statement_handle = $db->prepare("SELECT * FROM mytable");
my $statement_handle2 = $db->prepare(" SELECT name, date FROM myothertable WHERE name like ?");
$statement_handle->execute;
# Выполнена первая команда.К значениям можно
# обращаться через описатель.
$statement_handle->execute("J%");
# Выполнена вторая команда следующего содержания:
# SELECT name, date FROM myothertable WHERE name like 'J%'
Пример
use DBI;
my $db = DBI->connect('DBI:mSQL:mydata' ,undef,undef);
my $query = "SELECT name, date FROM myothertable";
my Soutput = $db->prepare($query);
$output->execute;
my $data = $output->fetchall_arrayref;
# Теперь $ data является ссылкой на массив массивов. Каждый элемент
# 'главного' массива сам является ссылкой на массив, содержащий строку данных.
print "Четвертой строкой данных в таблице является: " . $data->[3][1]. "\n";
# Элемент 3 'главного' массива является массивом, содержащим четвертую
# строку данных, # Элемент 1 этого массива является датой.
Пример
use DBI;
my $db = DBI->connect('DBI:mSQL:mydata',undef,undef);
my $query = " SELECT name, date FROM myothertable WHERE name LIKE 'Bob%'";
my $myothertable_output = $db->prepare($query);
$myothertable_output->execute;
my ($name, $date);
# Это первая строка из $myothertable_output.
($name, $date) = $myothertable_output->fetchrow_array;
# Это следующая строка...
($name, $date) = $myothertable_output->fetchrow_array;
# И еще одна...
my @name_and_date = $myothertable_output->fetchrow_array;
# и т.д.....
Пример
use DBI;
my $db = DBI->connect('DBI:mSQL:mydata', undef, undef);
my $query = " SELECT name, date FROM myothertable WHERE name LIKE -Bob%'";
my $myothertable_output = $db->prepare($query);
$myothertable_output->execute;
my $name1 = $myothertable_output->fetch->[0]
# Это поле 'name' из первой строки данных,
my $date2 = $myothertable_output->fetch->[1]
# Это поле 'date' из второй строки данных.
my ($name3, $date3) = @{$myothertable_output->fetch};
# Это целиком третья строка данных.
$myothertable_output->fetch
# возвращает ссылку на массив. Можно 'преобразовать' ее в действительный
# массив, используя конструкцию @{}.
Пример
use DBI;
my $db = DBI->connect('DBI:mSQL:mydata',undef,undef);
my $query = "SELECT * FROM mytable";
my $mytable_output = $db->prepare($query);
$mytable_output->execute;
my %row1 = $mytable_ouput->fetchrow_hashref;
my @field_names = keys %row1;
# @ field_names содержит теперь имена всех полей в запросе.
# Это делается только один раз. Во всех следующих строках будут те же поля,
my @row1 = values %row1;
Пример
use DBI;
my $db = DBI->connect('DBI:mysql:mydata','me','mypassword');
my $query = "SELECT * FROM mytable";
my $mytable_output = $db->prepare($query);
$mytable_output->execute;
$mytable_output->finish;
# Теперь можно переназначить $ mytable_output или подготовить для него
# другую команду SQL.
Пример
use DBI;
my $db = DBI->connect('DBI:mysql:mydata','me','mypassword');
my @tables =.$db->func('„List-Tables');
# @ tables содержит теперь список таблиц в 'mydata'.
Пример
use DBI;
my $string = " Это очень, очень длинная строка, в которой много чего написано. ";
my$neat_string = OBI: :neat($string,14);
# Теперь $neat_string такая: 'Это очень, оче...
Пример
use DBI;
my @list = (' Bob', 'Joe', 'Frank');
my $neat_string = DBI::neat_list(\@list, 3);
# Теперь $ neat_string такая: 'Bob', 'Joe', 'Fra...
Пример
use DBI;
my $db = DBI->connect('DBI:mysql:mydata','me','mypassword');
my $statement_handle = $db->prepare('SELECT * FROM mytable');
# Теперь эта команда готова к выполнению.
My $statement_handle = $db->prepare(' SELECT name, date FROM myothertable WHERE name like ?');
# Эта команда будет готовя к выполнению после подстановки # с использованием функции DBI::bind_param.
Пример
use DBI;
my $db1 = DBI->connect('DBI:mSQL:mydata',undef,undef);
my $db2 = DBI->connect('DBI:mysql:myotherdata','me','mypassword');
my $string = "Sheldon's Cycle";
my $qs1 = $db1->quote($string);
# $qs1: 'Sheldon\'s Cycle' (включая наружные кавычки)
my $qs2 = $db2->quote($string);
# $qs2 : 'Sheldon's Cycle' (включая наружные кавычки)
# Теперь обе строки годятся для использования в командах для своих
# соответствующих серверов баз данных.
Пример
use DBI;
my $db = DBI->connect('DBI:mSQL:mydata',undef,undef);
my $query = " SELECT name, date FROM myothertable WHERE name='Bob'";
my $myothertable_output = $db->prepare($query);
$myothertable_output->execute;
my $rows = $myotnertable_output->rows;
print "В таблице 'myothertable' есть $rows строк 'Воb'\n";
Пример
Use OBI;
my $db = DBI->connect('DBI:mysql:mydata',
'webuser','super_secret_squirгеl');
my $sql_error = $db->state;
warn(" BoT последняя по времени ошибка DBI SQL: $sql_error");
Пример
use DBI;
my $db1 = DBI->connect('DBI:mysql:mydata',
'webuser','super_secret_squirrel');
my $db2 = DBI->connect('DBI:mSQL:myotnerdata',undef,undef);
DBI >trace(2);
# Включена трассировка для всех описателей на уровне 2.
$db2->trace(0);
# Отключена трассировка для $db2, но продолжает действовать для $db1
$db1->trace(2,'DBI.trace');
# Теперь включена трассировка для всех описателей на уровне 2, выдача
# посылается в файл 'DBI.trace'.
Пример
use DBI;
my $db = DBI->connect('mysql:mydata','me','mypassword');
$db->{RAISE_ERROR} = 1;
# Теперь любая ошибка DBI/DBD убьет программу.
my $statement_handle = $db->prepare('SELECT * FROM mytable');
$statement_handle->execute;
my @fields = @{$statement_handle->{NAME}};
# @ fields содержит теперь список с именами всех полей в 'mytable'.
Пример
use Msql;
# Соединение с сокетом Unix локального узла ' my $db = Msql->connect;
# Или...
# Соединение с узлом 'www.myserver.com' без указания, базы данных
mу $db = Msql->connect('www.myserver.com');
# Или...
# Соединение с сервером 'www.myserver.com' и выбор базы данных 'mydata'
mу $db = Msql->connect('www.myserver.com','mydata');
Пример
use Msql;
my $db = Msql->connect;
my $my_new_database = 'mynewdata';
my $result = $db->createdb($my_new_database);
die " База данных не создана!"
if $result == -1;
print "$my_new_database создана.\n";
Пример
use Msql;
my $db = Msql->connect('www.myserver.com','mydata');
my $database = $db->database;
print " Здесь должно быть выведено 'mydata': $database\n";
Пример
use Msql;
my $db = Msql->connect;
my $result = $db->dropdb('mydata');
die " Команда не выполнена!"
if result == -1;
print "'mydata' потеряна навсегда.\n";
Пример
use Msql;
my $db = Msql->connect;
my Serror = $db->errmsg;
warn(" Вот последняя по времени ошибка mSQL: $error");
Пример
use Msql;
my $db = Msql->connect;
my ($step, $value) = $db->getsequenceinfo('mytable');
die " B mytable не задана последовательность" if not $step;
print "B mytable есть последовательность со значением $value и шагом
$step\n";
Пример
use Msql;
my $ijh - Msql->connect( 'www.myserver.com');
my $host = $db->host;
print "Вероятно, вы видите 'www.myserver.com': $host\n";
Пример
use Msql;
my $db = Msql->connect;
my @databases = $db->listdbs;
print " Имеющиеся базы данных:\n\n" . join("\n",@databases);
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my $fields = $db->listfields('mytable');
warn ("Проблемы с 'mytable-': " . $db->errmsg)
if (not $fields);
# $ fields явяется ссылкой на все поля в таблице 'mytable'.
print "mytable содержит следующие поля:\n";
print $fields->as_string;
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my $mytable_fields = $db->listfields('mytable');
my @indices = $mytable_fields->listindices;
# Я знаю имена всех индексов.
foreach (@indices) {
my $index_info_handle = $db->listindex('mytable',$_);
my (@index_info) = $index_info_handle->fetchcol(0);
my $type_of_index = shift(@index_info);
# $ type_of_index содержит теперь тип индекса (вероятно, 'avl'),
# a @index_info содержит теперь список полей в индексе.
Пример
use Msql;
my $db = Msql->connect;
my @tables = $db->listtables;
my $database = $db->database;
print "B $ database есть следующие таблицы:\n\n" join("\n",@tables);
Пример
use Msql;
my $db = Msql->connect; $db->selectdb('mydata');
my $query1 = "SELECT * FROM mytable";
my $query2 = " SELECT name, date FROM myothertable WHERE name LIKE 'Bob%'";
my $query3 = "UPDATE myothertable SET name='Bob' WHERE name='Joe'";
my $mytable_output = $db->query($query1);
my $myothertable_output = $db->query($query2);
my $myothertable_input = $db->query($query3);
# $mytable_output содержит результаты запроса к 'mytable'
# $myothertable_output содержит результаты запроса к 'myothertable'
print "Обновление 'myothertable' повлияло на имена в $myothertable_input
\n";
Пример
use Msql;
# Отключить сообщения об ошибках. Действует, только если сценарий
# запущен с '-w'.
$Msql::QUIET = 1;
# Выполняем многословную часть...
# Снова включаем сообщения об ошибках. $Msql::QUIET = undef;
Пример
use Msql;
my $db = Msql->connect;
my $string = "Это ' (одинарная кавычка)";
my $qstring = $db->quote($string);
print qq% Tenepb значение строки "'Это\\' (одинарная кавычка)'" : $qstring\n%;
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
# Выбранной базой данных является 'mydata'
if ($db->database ne 'mydata') {
wаrn('Базу данных выбрать не удалось!'); }
$db->selectdb('myotherdata');
# Теперь выбрана база данных 'myotherdata'
Пример
use Msql;
my $db = Msql->connect;
# Пора закрывать базу данных...
my $result = $db->shutdown;
die "Команда не выполнена!" if $result — -1;
print "Сервер остановлен.\n";
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my $query = "SELECT * FROM mytable";
my $mytable_output = $db->query($query);
print "Моя таблица:\n", $mytable_output->as_string;
# Выводится вся таблица в гораздо более приемлемом виде,
# чем в примере Msql:[Statement:ifetchhash.
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my Squery = "SELECT name, date FROM myothertable";
my $myothertable_output = $db->query($query);
my @names = $myothertable_output->fetchcol(0);
my @dates = $myothertable_output->fetchcol(1);
# Теперь указатель установлен в конце таблицы.
$myothertable_output->dataseek(0);
# Теперь указатель установлен на начало таблицы,
print "Это первая строка данных: ", $myothertable_output->fetchrow, "\n".
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my $query = " SELECT name, date FROM myothertable WHERE name LIKE 'Bob%'";
my $myothertable_output = $db->query($query);
my @names = $myothertable_output->fetchcor(0);
# @names содержит теперь все имена.
my @dates = $myothertable_output->fetchcol(1);
# ©dates содержит теперь все даты.
for (0..$#names) {
print "Row $_: $names[$_], $dates[$_]\n"; }
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my $query = "SELECT * FROM mytable";
my $mytable_output = $db->query($query);
my %first_data_row = $mytable_output->fetchhash;
my @fields = keys %first_data_row;
# @ fields содержит теперь имена всех полей. В результате, фактически нет
# нужды использовать Msql::listfields, поскольку ее данные и многие
If другие можно получить через описатель команды, возвращаемый
# Msql::query.
my (%data_row);
print ]oin("", ©fields), "\n';
print "-"x70;
print join("", values(%first_data_row);
print join("", values(%data_row)) while %data_row = $mytable_output-
>fetchhash;
# Таким образом распечатывается вся таблица, хотя и в невыравненном
# формате.
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my $query1 = "SELECT * FROM mytable";
my $query2 = " SELECT name, date FROM myothertable WHERE name LIKE
'Bob%'";
my $mytable_output = $db->query($query1);
my $myothertable_output = $db->query($query2);
my $i = 0;
# Чтение строк данных будет продолжаться,
# пока их больше не останется.
while (my(@mytable_rows)=$mytable_output->fetcnrow) {
print "Строка ",$i++,": ".join(', ',@mytable_rows)."\n";
# Если неизвестна структура таблицы 'mytable',
# нельзя узнать число элементов в @mytable_rows или их порядок.
}
my (Sname, $date);
# Это первая строка данных в $myotrertable_output.
($name, $datc) = $myothertaPle_output->fetchrow;
# Это следующая строка...
($name, $date) = $myothertable_output->fetchrow;
# И еще одна...
my @name_and_date = $myothertable_output->fetchrbw;
# и т.д....
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my Soutput = $db->query("select * from mydata");
my @names = $output->name;
my @not_null = $output->isnotnull;
for (0..$#not_null) {
print "$names[$_] не может быть null\n"
if $not_null[$_]; }
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my $output = $dD->query(" select name, date from myothertable");
print "Name является числом"
if $output->isnum->[0];
print "Date является числом"
if $output->isnum->[1];
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my $output-= $db->query("select * from mytable");
my @prikeys = $output->isprikey;
my $number_of_prikeys = scalar @prikeys;
print "В этом описателе команды $number_of_prikeys первичных ключей. ",
" В запросе участвует не меньшее число различных таблиц, поскольку ".
"в каждой таблице может быть только один первичный ключ\n";
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my $output = $db->query("select- * from mytable");
my @types = $output->type;
my @lengths = $output->length;
for (0..$#types) {
if ($types[$_] == &Msql: :CHAR_TYPE and $lengths[$_] > 1000000) {
print "В этой таблице у вас есть одно о-очень большое поле CHAR!\";
} }
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my $mytable_fields = $db->listfields('mytable');
my ©indices = $mytable_fields->listindices;
print "B 'mytable' есть следующие индексы: " . join(", ",@indices) .
"\n;
Пример
use Msql;
$db = Msql->connect;
$db->selectdb('mydata');
my Soutput = $db->query('select name, date from myothertable');
print " Самое длинное имя имеет длину " . $ouput->maxlength->[0] . " символов,\n";
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my $output = $db->query("select * from mytable");
my @column_names = $output->names;
# Теперь @column_names - список колонок 'mytable'
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my $output = $db->query("select * from mytable");
my $numfields = $output->numfields;
my $numrows = $output->numrows;
print "В каждой строке таблицы 'mytable' $numfields полей \n";
print " Всего имеется Snumrows строк данных. Поэтому 'mytable'\n";
print "содержит" . ($numfields*$numrows) . " элементов данных.\n";
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my Soutput = $db->query("select * from mytable");
my $numrows = '$output->numrows;
print "B 'mytable' содержится $numrows строк данных\n";
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my Soutput = $db->query('select myothertable. name, myothertable.date,
mythirdtable. name from myothertable, mythirdtable where myothertable. name
= mythirdtable. name');
my @tables = $output->table;
# @tables содержит теперь ('myothertable', 'myothertable', 'mythirdtable')
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my $output = $db->query(" select name, date from myothertable");
my ($name_type, $date_type) = $output->type;
for ($name_type) {
$_ eq &Msql: :CHAR_TYPE and do {
print ''name является CHAR';
last;
} $_ eq &Msql::INT_TYPE and do {
print 'name является INT'; last; } # и т.д....
}
# повторить для $date_type
Пример
use Msql;
my $db = Msql->connect;
my $sock = $db->sock;
print " Я подключен к сокету $sock.\n";
Пример
use Msql;
%types = (
'CHAR' => &Msql::GHAR_TYPE, 'INT' => &Msql::INT_TYPE, 'REAL' => &Msql::REAL_TYPE, 'SYSVAR' => &Msql::SYSVAR_TYPE, 'TIME' => &Msql::TIME_TYPE, 'MONEY' => &Msql::MONEY_TYPE, 'UINT' => &Msql::UINT_TYPE, 'TEXT' => &Msql::TEXT_TYPE, 'NULL' => &Msql::NULL_TYPE, 'DATE' => &Msql::DATE_TYPE, 'IDENT' => &Msql::IDENT_TYPE, 'IDX' => &Msql::IDX_TYPE,
);
# $types{'CHAR'} является теперь легкодоступным псевдонимом для
# &Msql::CHAR_TYPE. Наличие значений в % types дает доступ ко всем
# удобным функциям работы с хешами, такими как keys() и values().
Пример
use Msql;
print " Вы используете Msql.pm версии $Msql::VERSION.\n";
Пример
use Mysql;
$db = Mysql->connect(undef,'mydata','webuser1, 'super_secret_squirrel');
# Теперь описатель базы данных соединен с локальным сервером MySQL и
# использует базу данных 'mydata1.
# Использовано имя пользователя 'webuser' для
# соединения с паролем 'super_secret_squirrel'.
Пример
use Mysql;
my $db = Mysql->connect(undef,'mydata','webuser', 'super_secret_squirrel');
# В этом запросе есть синтаксическая ошибка...
my $output = $db->query( 'SELECT * from mydata');
if (not $output) {
print "Ошибка " . $output->errno . ": " . $output->errfnsg . "\n"; }
Пример
use Mysql;
my $db = Mysql->connect(undef, 'mydata');
my Soutput = $db->query(" SELECT name, data from myothertable");
if ($output->type->[0] = &Mysql::FIELD_TYPE_STRING) {
print "Name является STRING.\n"; }
Пример
use Mysql;
my $db = Mysql->connect(undef,'mydata');
my $output = $db->query(" UPDATE mytable set name='bob' where
name='joe'");
print $output->affectedrows . " строк обновлено.\n";
Пример
use Mysql;
$db = Mysql->connect(undef,'mydata');
my $output = $db->query("LOAD DATA INFILE 'mydata.dat' INTO TABLE mytable");
my $info = $output->info($output);
print « Результат работы LOAD DATA: $info\n»;
Пример
use Mysql;
my $db = Mysql->connect(undef,'mydata');
my $output = $db->query(
" INSERT into mytable (id, name, date) VALUES ('','bob', 'today')";
my $new_id = $output->insertid;
print "Bob был введен с ID, равным $new_id.\n";
Пример
use Mysql;
$db = Mysql->connect(undef,'mydata');
my $output = $db->query(' SELECT name, data from myothertable');
if ($output->isblob->[0]) {
print "Name является полем BLOB.\n"; }
else {
print "Name не является полем BLOB.\n"; }
Пример
use Mysql;
my $db = Mysql->connect(undef,'mydata');
my $outpuf= $db->query(" UPDATE mytable set name='joe' where
name='bob' ");
# $output является описателем команды.
Содержание раздела