SlideShare una empresa de Scribd logo
1 de 13
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
 
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
 
Results for my first drafts
Results for my first draftsResults for my first drafts
Results for my first draftskamar95
 
Rancangan Pengajaran Harian Matematik (Mikropengajaran)
Rancangan Pengajaran Harian Matematik (Mikropengajaran)Rancangan Pengajaran Harian Matematik (Mikropengajaran)
Rancangan Pengajaran Harian Matematik (Mikropengajaran)jocelynlly
 
Proposal
ProposalProposal
Proposalramcoza
 
θουκυδίδου ι αγνωστο θεμα
θουκυδίδου ι αγνωστο θεμαθουκυδίδου ι αγνωστο θεμα
θουκυδίδου ι αγνωστο θεμαEfi Manousaka
 
Garm2 raton sin pilas
Garm2 raton sin pilasGarm2 raton sin pilas
Garm2 raton sin pilasjaiip
 
How to use photoshop
How to use photoshopHow to use photoshop
How to use photoshopkamar95
 
Proposal
ProposalProposal
Proposalramcoza
 
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' 2011garethjenkins
 
Работа в компании "АйТи Капитал"
Работа в компании "АйТи Капитал"Работа в компании "АйТи Капитал"
Работа в компании "АйТи Капитал"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
Dfuncionocumentojbersosa
 
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 PersistenciaDavid J. Brenes
 
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 SqlJose 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 entornoRolando Caldas
 
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 #PHPSevillaAgencia INNN
 
Mantenimiento de Usuarios usando MVC ver1
Mantenimiento de Usuarios usando MVC ver1Mantenimiento de Usuarios usando MVC ver1
Mantenimiento de Usuarios usando MVC ver1Jose Luis Orosco Marcos
 
Gustavo php
Gustavo phpGustavo php
Gustavo phpGustavo
 
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.pptxDanielaNieves11
 
Base de datos dinamicas
Base de datos dinamicasBase de datos dinamicas
Base de datos dinamicasel_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

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 talkJose 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 2015Jose 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 2014Jose 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 TalksJose 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 PerlJose 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 RegularesJose 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

innovacion banking & warehouse 2024 blog
innovacion banking & warehouse 2024 bloginnovacion banking & warehouse 2024 blog
innovacion banking & warehouse 2024 blogManuel Diaz
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC6dwwcgtpfx
 
BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).jcaballerosamayoa
 
Chat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaChat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaEdwinGarca59
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docxssusere34b451
 
Imágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónImágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónUniversidad de Sonora
 
Tipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de DatosTipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de DatosYOMIRAVILLARREAL1
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónAntonia Yamilet Perez Palomares
 
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...dramosbrise1403
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .itzyrivera61103
 
Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024NicolleAndrade7
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxdoloresolmosantiago
 
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptxTipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptxJOELGARCIA849853
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialEducática
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALGuadalinfoHuscarGuad
 
Desarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaDesarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaRicardoEstrada90
 
Actividad 6/Las TIC en la Vida Cotidiana.
Actividad 6/Las TIC en la Vida Cotidiana.Actividad 6/Las TIC en la Vida Cotidiana.
Actividad 6/Las TIC en la Vida Cotidiana.241534381
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptxjarniel1
 
Electricidad Libro compendio de temas estudiados.docx
Electricidad Libro compendio de temas estudiados.docxElectricidad Libro compendio de temas estudiados.docx
Electricidad Libro compendio de temas estudiados.docxCsarNlsonMrquezContr
 
el uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptxel uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptx221112876
 

Último (20)

innovacion banking & warehouse 2024 blog
innovacion banking & warehouse 2024 bloginnovacion banking & warehouse 2024 blog
innovacion banking & warehouse 2024 blog
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
 
BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).
 
Chat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaChat GPT para la educación Latinoamerica
Chat GPT para la educación Latinoamerica
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
Imágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónImágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la información
 
Tipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de DatosTipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de Datos
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
 
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .
 
Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptx
 
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptxTipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
 
Desarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaDesarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - Estrada
 
Actividad 6/Las TIC en la Vida Cotidiana.
Actividad 6/Las TIC en la Vida Cotidiana.Actividad 6/Las TIC en la Vida Cotidiana.
Actividad 6/Las TIC en la Vida Cotidiana.
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
 
Electricidad Libro compendio de temas estudiados.docx
Electricidad Libro compendio de temas estudiados.docxElectricidad Libro compendio de temas estudiados.docx
Electricidad Libro compendio de temas estudiados.docx
 
el uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptxel uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptx
 

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 • …