MySQL & mSQL



DBI.pmAPI - часть 3


Таблица 21-1. Соответствие типов SQL

DBI

MSQL

MySQL

SQL_CHAR

CHAR TYPE

FIELD TYPE CHAR


IDENT TYPE

FIELD TYPE DATE


NULL TYPE

FIELD TYPE DATETIME


DATE TYPE

FIELD TYPE NULL


MONEY TYPE

FIELD TYPE TIMESTAMP


TIME TYPE

FIELD TYPE TIME


IDX TYPE



SYSVAR TYPE



ANY TYPE


SQL_NUMERIC


FIELD TYPE LONG FIELD TYPE LONGLONG FIELD_TYPE_SHORT

SQL_DECIMAL


FIELD_TYPE_DECIMAL

SQLJNTEGER

INT_TYPE

FIELD_TYPE_INT24

SQL SMAL-LINT

UINT_TYPE

FIELD_TYPE_INT24

SQL_FLOAT


FIELD_TYPE_FLOAT

SQL_REAL

REAL TYPE LAST_REAL_TYPE

FIELD JTYPE_DOUBLE

SQLJDOUBLE


FIELD_TYPE_DOUBLE

SQL_VARCHAR

TEXT_TYPE

FIELD_TYPE_TINY BLOB FIELD_TYPE_MEDIUM BLOB FIELD TYPE BLOB FIELD TYPE LONG BLOB FIELD TYPE VAR STRING FIELD TYPE STRING

Пример

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%'

DBI::connect

$db = DBI->connect($data_source, $username, $password);

$db = DBI->connect($data_source, $username, $password, \%attributes);

DBI:: connect требует по крайней мере три аргумента и необязательный четвертый. Через возвращаемый описатель выполняются все операции с сервером базы данных. Первый аргумент является источником данных. Список имеющихся источников можно получить с помощью DBI: :data_sources . Для mSQL и MySQL формат источника данных 'DBI:mSQL:$database:Shostname:Sport' и 'DBI:mysql:Sdatabase:Shostname:Sport' соответственно. Можно опустить :Sport при соединении через стандартный порт. Аналогично можно опустить ': Shostname: Sport' при соединении с сервером на локальном узле с помощью сонета Unix. Имя базы данных указывать обязательно.




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