SlideShare una empresa de Scribd logo
DBI
¿Qué es?

• Database independent interface
  – ODBC
  – JDBC
¿Qué es?
• Acceso común a bases de datos
  – mysql_connect($server, $username,
    $password)
  – pg_connect($connection_string,
    $connect_type)
  – db2_connect($database, $username,
    $password)

       DBI->connect($dsn, $user, $pass)
Conceptos
• DBD -> DataBase Driver
    Cada driver se encarga de “hablar” con la DB
• DSN -> Data Source Name
    Cadena de conexión
• DBH -> Database handler
    Representa una conexión a una base de datos
• STH -> Statement handler
    Respresenta una sentencia SQL
Conectar a una base de datos
use DBI;
my $dbh = DBI-
  >connect(“dbi:DRIVER:PARAM1=VALOR1;PARAM2=VAL
  OR2”, $user, $pass, $dbi_opts);
…
$dbh->disconnect;

DRIVER: mysql, SQLite, Pg…
PARAMX=VALORX: en la doc del driver ;)

Recomendación:
{ „RaiseError‟ => 1, „PrintError‟ =>
  0, „AutoCommit‟ => 0 } en $dbi_opts
Ahora que tengo una conexión

my $sth = $dbh->prepare(„INSERT INTO tabla
  (nombre, apellidos) VALUES (?, ?)‟);
$sth->execute(„Larry‟, „Wall‟);
$sth->finish;



$dbh->do(„INSERT…‟, undef, „Larry‟, „Wall‟);
Ahora que tengo una conexión

my $sth = $dbh->prepare(„INSERT INTO tabla
  (nombre, apellidos) VALUES (?, ?)‟);
while (…) {
  $sth->execute($name, $lastname);
}
$sth->finish;
¿Qué son los interrogantes?
           Bind Params
• http://xkcd.com/327/
Recuperando Datos

my $sth = $dbh->prepare(„SELECT * FROM tabla
  WHERE nombre = ?‟);
$sth->execute(„Larry‟);
FETCH
$sth->finish;
Fetching…

   selectrow_array
 selectrow_arrayref
selectrow_hashref
  selectall_arrayref
  selectall_hashref
Recuperando Datos

my $sth = $dbh->prepare(„SELECT * FROM tabla WHERE
  nombre = ?‟);
$sth->execute(„Larry‟);
while (my $row = $sth->fetchrow_hashref){
    say “$row->{„nombre‟} $row->{„apellido‟}”;
}
$sth->finish;
DBDs Interesantes
•   DBD::mysql
•   DBD::sqlite
•   DBD::Pg
•   DBD::Oracle
•   DBD::CSV
•   …
DBD curiosos
•   DBD::iPod
•   DBD::Salesforce
•   DBD::RDFStore
•   DBD::Proxy
•   …

Más contenido relacionado

Destacado

Linked Lists With Perl: Why bother?
Linked Lists With Perl: Why bother?Linked Lists With Perl: Why bother?
Linked Lists With Perl: Why bother?
Workhorse Computing
 
DBI
DBIDBI
Grade 8 9 course selection 2014-2015
Grade 8 9 course selection 2014-2015Grade 8 9 course selection 2014-2015
Grade 8 9 course selection 2014-2015SteveAyling
 
NRD: Nagios Result Distributor
NRD: Nagios Result DistributorNRD: Nagios Result Distributor
NRD: Nagios Result Distributor
Jose Luis Martínez
 
Bloedsomloop versie 1.0
Bloedsomloop versie 1.0Bloedsomloop versie 1.0
Bloedsomloop versie 1.0
RIBW Arnhem & Veluwe Vallei
 
Results for my first drafts
Results for my first draftsResults for my first drafts
Results for my first draftskamar95
 
DBIx::Class
DBIx::ClassDBIx::Class
DBIx::Class
Jose Luis Martínez
 
Rancangan Pengajaran Harian Matematik (Mikropengajaran)
Rancangan Pengajaran Harian Matematik (Mikropengajaran)Rancangan Pengajaran Harian Matematik (Mikropengajaran)
Rancangan Pengajaran Harian Matematik (Mikropengajaran)jocelynlly
 
Proposal
ProposalProposal
Proposal
ramcoza
 
θουκυδίδου ι αγνωστο θεμα
θουκυδίδου ι αγνωστο θεμαθουκυδίδου ι αγνωστο θεμα
θουκυδίδου ι αγνωστο θεμα
Efi Manousaka
 
Garm2 raton sin pilas
Garm2 raton sin pilasGarm2 raton sin pilas
Garm2 raton sin pilasjaiip
 
Web2 0
Web2 0Web2 0
Web2 0
wang9409
 
Sophiie compu
Sophiie compuSophiie compu
Sophiie compu
Sophiie Mendoza
 
How to use photoshop
How to use photoshopHow to use photoshop
How to use photoshop
kamar95
 
Proposal
ProposalProposal
Proposal
ramcoza
 
iPad Game Design -- Develop Liverpool Dec' 2011
iPad Game Design -- Develop Liverpool Dec' 2011iPad Game Design -- Develop Liverpool Dec' 2011
iPad Game Design -- Develop Liverpool Dec' 2011
garethjenkins
 
Работа в компании "АйТи Капитал"
Работа в компании "АйТи Капитал"Работа в компании "АйТи Капитал"
Работа в компании "АйТи Капитал"itcapital
 

Destacado (20)

Linked Lists With Perl: Why bother?
Linked Lists With Perl: Why bother?Linked Lists With Perl: Why bother?
Linked Lists With Perl: Why bother?
 
DBI
DBIDBI
DBI
 
Grade 8 9 course selection 2014-2015
Grade 8 9 course selection 2014-2015Grade 8 9 course selection 2014-2015
Grade 8 9 course selection 2014-2015
 
NRD: Nagios Result Distributor
NRD: Nagios Result DistributorNRD: Nagios Result Distributor
NRD: Nagios Result Distributor
 
Polifonia_6.16
Polifonia_6.16Polifonia_6.16
Polifonia_6.16
 
Bloedsomloop versie 1.0
Bloedsomloop versie 1.0Bloedsomloop versie 1.0
Bloedsomloop versie 1.0
 
Results for my first drafts
Results for my first draftsResults for my first drafts
Results for my first drafts
 
DBIx::Class
DBIx::ClassDBIx::Class
DBIx::Class
 
Rancangan Pengajaran Harian Matematik (Mikropengajaran)
Rancangan Pengajaran Harian Matematik (Mikropengajaran)Rancangan Pengajaran Harian Matematik (Mikropengajaran)
Rancangan Pengajaran Harian Matematik (Mikropengajaran)
 
Proposal
ProposalProposal
Proposal
 
θουκυδίδου ι αγνωστο θεμα
θουκυδίδου ι αγνωστο θεμαθουκυδίδου ι αγνωστο θεμα
θουκυδίδου ι αγνωστο θεμα
 
Garm2 raton sin pilas
Garm2 raton sin pilasGarm2 raton sin pilas
Garm2 raton sin pilas
 
jul-ago-00
jul-ago-00jul-ago-00
jul-ago-00
 
Web2 0
Web2 0Web2 0
Web2 0
 
Sophiie compu
Sophiie compuSophiie compu
Sophiie compu
 
Huidobro&Sepulveda_2010
Huidobro&Sepulveda_2010Huidobro&Sepulveda_2010
Huidobro&Sepulveda_2010
 
How to use photoshop
How to use photoshopHow to use photoshop
How to use photoshop
 
Proposal
ProposalProposal
Proposal
 
iPad Game Design -- Develop Liverpool Dec' 2011
iPad Game Design -- Develop Liverpool Dec' 2011iPad Game Design -- Develop Liverpool Dec' 2011
iPad Game Design -- Develop Liverpool Dec' 2011
 
Работа в компании "АйТи Капитал"
Работа в компании "АйТи Капитал"Работа в компании "АйТи Капитал"
Работа в компании "АйТи Капитал"
 

Similar a DBI

Base de Datos por Gustavo V.M
Base de Datos por Gustavo V.MBase de Datos por Gustavo V.M
Base de Datos por Gustavo V.MGustavo
 
Dfuncionocumento
DfuncionocumentoDfuncionocumento
Dfuncionocumento
jbersosa
 
Cloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaCloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de Persistencia
David J. Brenes
 
Apuntes php
Apuntes phpApuntes php
Guia N5 Proyectos Web Consultas Php Y My Sql
Guia N5   Proyectos Web   Consultas Php Y My SqlGuia N5   Proyectos Web   Consultas Php Y My Sql
Guia N5 Proyectos Web Consultas Php Y My Sql
Jose Ponce
 
Ejemplos de php_mysql
Ejemplos de php_mysqlEjemplos de php_mysql
Ejemplos de php_mysqlI LG
 
PHPVigo #19 - Lightning variables de entorno
PHPVigo #19 - Lightning variables de entornoPHPVigo #19 - Lightning variables de entorno
PHPVigo #19 - Lightning variables de entorno
Rolando Caldas
 
Bases de datos con PHP y PDO
Bases de datos con PHP y PDOBases de datos con PHP y PDO
Bases de datos con PHP y PDO
Ramiro Estigarribia Canese
 
José Ramón Palanco - NoSQL Security [RootedCON 2011]
José Ramón Palanco - NoSQL Security [RootedCON 2011]José Ramón Palanco - NoSQL Security [RootedCON 2011]
José Ramón Palanco - NoSQL Security [RootedCON 2011]RootedCON
 
Deployer PHP. Presentación para #PHPSevilla
Deployer PHP. Presentación para #PHPSevillaDeployer PHP. Presentación para #PHPSevilla
Deployer PHP. Presentación para #PHPSevilla
Agencia INNN
 
Mantenimiento de Usuarios usando MVC ver1
Mantenimiento de Usuarios usando MVC ver1Mantenimiento de Usuarios usando MVC ver1
Mantenimiento de Usuarios usando MVC ver1
Jose Luis Orosco Marcos
 
Gustavo php
Gustavo phpGustavo php
Gustavo phpGustavo
 
Guiapractica de bd completa
Guiapractica de bd completaGuiapractica de bd completa
Guiapractica de bd completa
lissette_torrealba
 
Sql android
Sql   androidSql   android
Programa que almacena en una base de datos las características de un carro co...
Programa que almacena en una base de datos las características de un carro co...Programa que almacena en una base de datos las características de un carro co...
Programa que almacena en una base de datos las características de un carro co...
jbersosa
 
Expo Conexion Mysql.pptx
Expo Conexion Mysql.pptxExpo Conexion Mysql.pptx
Expo Conexion Mysql.pptx
DanielaNieves11
 
Base de datos dinamicas
Base de datos dinamicasBase de datos dinamicas
Base de datos dinamicas
el_rosales
 

Similar a DBI (20)

Base de Datos por Gustavo V.M
Base de Datos por Gustavo V.MBase de Datos por Gustavo V.M
Base de Datos por Gustavo V.M
 
Dfuncionocumento
DfuncionocumentoDfuncionocumento
Dfuncionocumento
 
Cloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaCloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de Persistencia
 
Apuntes php
Apuntes phpApuntes php
Apuntes php
 
Guia N5 Proyectos Web Consultas Php Y My Sql
Guia N5   Proyectos Web   Consultas Php Y My SqlGuia N5   Proyectos Web   Consultas Php Y My Sql
Guia N5 Proyectos Web Consultas Php Y My Sql
 
Ejemplos de php_mysql
Ejemplos de php_mysqlEjemplos de php_mysql
Ejemplos de php_mysql
 
Php2
Php2 Php2
Php2
 
Mysql adodb pdf_php
Mysql adodb pdf_phpMysql adodb pdf_php
Mysql adodb pdf_php
 
PHPVigo #19 - Lightning variables de entorno
PHPVigo #19 - Lightning variables de entornoPHPVigo #19 - Lightning variables de entorno
PHPVigo #19 - Lightning variables de entorno
 
Bases de datos con PHP y PDO
Bases de datos con PHP y PDOBases de datos con PHP y PDO
Bases de datos con PHP y PDO
 
José Ramón Palanco - NoSQL Security [RootedCON 2011]
José Ramón Palanco - NoSQL Security [RootedCON 2011]José Ramón Palanco - NoSQL Security [RootedCON 2011]
José Ramón Palanco - NoSQL Security [RootedCON 2011]
 
Deployer PHP. Presentación para #PHPSevilla
Deployer PHP. Presentación para #PHPSevillaDeployer PHP. Presentación para #PHPSevilla
Deployer PHP. Presentación para #PHPSevilla
 
Mantenimiento de Usuarios usando MVC ver1
Mantenimiento de Usuarios usando MVC ver1Mantenimiento de Usuarios usando MVC ver1
Mantenimiento de Usuarios usando MVC ver1
 
Gustavo php
Gustavo phpGustavo php
Gustavo php
 
Guiapractica de bd completa
Guiapractica de bd completaGuiapractica de bd completa
Guiapractica de bd completa
 
Php
PhpPhp
Php
 
Sql android
Sql   androidSql   android
Sql android
 
Programa que almacena en una base de datos las características de un carro co...
Programa que almacena en una base de datos las características de un carro co...Programa que almacena en una base de datos las características de un carro co...
Programa que almacena en una base de datos las características de un carro co...
 
Expo Conexion Mysql.pptx
Expo Conexion Mysql.pptxExpo Conexion Mysql.pptx
Expo Conexion Mysql.pptx
 
Base de datos dinamicas
Base de datos dinamicasBase de datos dinamicas
Base de datos dinamicas
 

Más de Jose Luis Martínez

Being cloudy with perl
Being cloudy with perlBeing cloudy with perl
Being cloudy with perl
Jose Luis Martínez
 
Modern Perl toolchain (help building microservices)
Modern Perl toolchain (help building microservices)Modern Perl toolchain (help building microservices)
Modern Perl toolchain (help building microservices)
Jose Luis Martínez
 
MooseX::Datamodel - Barcelona Perl Workshop Lightning talk
MooseX::Datamodel - Barcelona Perl Workshop Lightning talkMooseX::Datamodel - Barcelona Perl Workshop Lightning talk
MooseX::Datamodel - Barcelona Perl Workshop Lightning talk
Jose Luis Martínez
 
Paws - Perl AWS SDK Update - November 2015
Paws - Perl AWS SDK Update - November 2015Paws - Perl AWS SDK Update - November 2015
Paws - Perl AWS SDK Update - November 2015
Jose Luis Martínez
 
Paws - A Perl AWS SDK
Paws - A Perl AWS SDKPaws - A Perl AWS SDK
Paws - A Perl AWS SDK
Jose Luis Martínez
 
Boosting MySQL (for starters)
Boosting MySQL (for starters)Boosting MySQL (for starters)
Boosting MySQL (for starters)
Jose Luis Martínez
 
Plenv and carton
Plenv and cartonPlenv and carton
Plenv and carton
Jose Luis Martínez
 
Building an aws sdk for Perl - Granada Perl Workshop 2014
Building an aws sdk for Perl - Granada Perl Workshop 2014Building an aws sdk for Perl - Granada Perl Workshop 2014
Building an aws sdk for Perl - Granada Perl Workshop 2014
Jose Luis Martínez
 
Writing plugins for Nagios and Opsview - CAPSiDE Tech Talks
Writing plugins for Nagios and Opsview - CAPSiDE Tech TalksWriting plugins for Nagios and Opsview - CAPSiDE Tech Talks
Writing plugins for Nagios and Opsview - CAPSiDE Tech Talks
Jose Luis Martínez
 
Escribir plugins para Nagios en Perl
Escribir plugins para Nagios en PerlEscribir plugins para Nagios en Perl
Escribir plugins para Nagios en Perl
Jose Luis Martínez
 
Perl and AWS
Perl and AWSPerl and AWS
Perl and AWS
Jose Luis Martínez
 
Writing nagios plugins in perl
Writing nagios plugins in perlWriting nagios plugins in perl
Writing nagios plugins in perl
Jose Luis Martínez
 
Ficheros y directorios
Ficheros y directoriosFicheros y directorios
Ficheros y directorios
Jose Luis Martínez
 
The modern perl toolchain
The modern perl toolchainThe modern perl toolchain
The modern perl toolchain
Jose Luis Martínez
 
Introducción a las Expresiones Regulares
Introducción a las Expresiones RegularesIntroducción a las Expresiones Regulares
Introducción a las Expresiones Regulares
Jose Luis Martínez
 

Más de Jose Luis Martínez (15)

Being cloudy with perl
Being cloudy with perlBeing cloudy with perl
Being cloudy with perl
 
Modern Perl toolchain (help building microservices)
Modern Perl toolchain (help building microservices)Modern Perl toolchain (help building microservices)
Modern Perl toolchain (help building microservices)
 
MooseX::Datamodel - Barcelona Perl Workshop Lightning talk
MooseX::Datamodel - Barcelona Perl Workshop Lightning talkMooseX::Datamodel - Barcelona Perl Workshop Lightning talk
MooseX::Datamodel - Barcelona Perl Workshop Lightning talk
 
Paws - Perl AWS SDK Update - November 2015
Paws - Perl AWS SDK Update - November 2015Paws - Perl AWS SDK Update - November 2015
Paws - Perl AWS SDK Update - November 2015
 
Paws - A Perl AWS SDK
Paws - A Perl AWS SDKPaws - A Perl AWS SDK
Paws - A Perl AWS SDK
 
Boosting MySQL (for starters)
Boosting MySQL (for starters)Boosting MySQL (for starters)
Boosting MySQL (for starters)
 
Plenv and carton
Plenv and cartonPlenv and carton
Plenv and carton
 
Building an aws sdk for Perl - Granada Perl Workshop 2014
Building an aws sdk for Perl - Granada Perl Workshop 2014Building an aws sdk for Perl - Granada Perl Workshop 2014
Building an aws sdk for Perl - Granada Perl Workshop 2014
 
Writing plugins for Nagios and Opsview - CAPSiDE Tech Talks
Writing plugins for Nagios and Opsview - CAPSiDE Tech TalksWriting plugins for Nagios and Opsview - CAPSiDE Tech Talks
Writing plugins for Nagios and Opsview - CAPSiDE Tech Talks
 
Escribir plugins para Nagios en Perl
Escribir plugins para Nagios en PerlEscribir plugins para Nagios en Perl
Escribir plugins para Nagios en Perl
 
Perl and AWS
Perl and AWSPerl and AWS
Perl and AWS
 
Writing nagios plugins in perl
Writing nagios plugins in perlWriting nagios plugins in perl
Writing nagios plugins in perl
 
Ficheros y directorios
Ficheros y directoriosFicheros y directorios
Ficheros y directorios
 
The modern perl toolchain
The modern perl toolchainThe modern perl toolchain
The modern perl toolchain
 
Introducción a las Expresiones Regulares
Introducción a las Expresiones RegularesIntroducción a las Expresiones Regulares
Introducción a las Expresiones Regulares
 

Último

TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
tamarita881
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
SofiaCollazos
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
SERVANDOBADILLOPOLEN
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
juanchogame18
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
JuanAlvarez413513
 
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGATAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
arriagaanggie50
 

Último (20)

TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
 
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGATAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
 

DBI

  • 1. DBI
  • 2. ¿Qué es? • Database independent interface – ODBC – JDBC
  • 3. ¿Qué es? • Acceso común a bases de datos – mysql_connect($server, $username, $password) – pg_connect($connection_string, $connect_type) – db2_connect($database, $username, $password) DBI->connect($dsn, $user, $pass)
  • 4. Conceptos • DBD -> DataBase Driver Cada driver se encarga de “hablar” con la DB • DSN -> Data Source Name Cadena de conexión • DBH -> Database handler Representa una conexión a una base de datos • STH -> Statement handler Respresenta una sentencia SQL
  • 5. Conectar a una base de datos use DBI; my $dbh = DBI- >connect(“dbi:DRIVER:PARAM1=VALOR1;PARAM2=VAL OR2”, $user, $pass, $dbi_opts); … $dbh->disconnect; DRIVER: mysql, SQLite, Pg… PARAMX=VALORX: en la doc del driver ;) Recomendación: { „RaiseError‟ => 1, „PrintError‟ => 0, „AutoCommit‟ => 0 } en $dbi_opts
  • 6. Ahora que tengo una conexión my $sth = $dbh->prepare(„INSERT INTO tabla (nombre, apellidos) VALUES (?, ?)‟); $sth->execute(„Larry‟, „Wall‟); $sth->finish; $dbh->do(„INSERT…‟, undef, „Larry‟, „Wall‟);
  • 7. Ahora que tengo una conexión my $sth = $dbh->prepare(„INSERT INTO tabla (nombre, apellidos) VALUES (?, ?)‟); while (…) { $sth->execute($name, $lastname); } $sth->finish;
  • 8. ¿Qué son los interrogantes? Bind Params • http://xkcd.com/327/
  • 9. Recuperando Datos my $sth = $dbh->prepare(„SELECT * FROM tabla WHERE nombre = ?‟); $sth->execute(„Larry‟); FETCH $sth->finish;
  • 10. Fetching… selectrow_array selectrow_arrayref selectrow_hashref selectall_arrayref selectall_hashref
  • 11. Recuperando Datos my $sth = $dbh->prepare(„SELECT * FROM tabla WHERE nombre = ?‟); $sth->execute(„Larry‟); while (my $row = $sth->fetchrow_hashref){ say “$row->{„nombre‟} $row->{„apellido‟}”; } $sth->finish;
  • 12. DBDs Interesantes • DBD::mysql • DBD::sqlite • DBD::Pg • DBD::Oracle • DBD::CSV • …
  • 13. DBD curiosos • DBD::iPod • DBD::Salesforce • DBD::RDFStore • DBD::Proxy • …