DBI |
Interface de base de données |
---|---|
Perl |
Description
Ce module contient une interface pour l'utilisation de base de données.
Liste des méthodes
Voici la liste des méthodes disponibles dans la classe «DBI» :
Nom | Méthode | Description |
---|---|---|
BIND_COL | $rc = $sth->bind_col($column_number, \$var_to_bind); $rc = $sth->bind_col($column_number, \$var_to_bind, \%attr ); $rc = $sth->bind_col($column_number, \$var_to_bind, $bind_type ); |
Ces méthodes permettent d'effectuer une liaison de variable Perl et/ou d'attributs à un champ de sortie d'une instruction SQL «SELECT». |
BIND_PARAM | $rc = $sth->bind_param($p_num, $bind_value); $rc = $sth->bind_param($p_num, $bind_value, $bind_type); $rc = $sth->bind_param($p_num, $bind_value, \%attr); |
Ces méthodes permettent de prendre une valeur spécifié et la mettre à la position spécifié dans la requête SQL en préparation. |
BIND_PARAM_ARRAY | $rc = $sth->bind_param_array($p_num, $array_ref_or_value); $rc = $sth->bind_param_array($p_num, $array_ref_or_value, \%attr); $rc = $sth->bind_param_array($p_num, $array_ref_or_value, $bind_type); |
Ces méthodes permettent de prendre un tableau de valeurs spécifiés et les mets à la position spécifié dans la requête SQL en préparation. |
BIND_PARAM_INOUT | $rc = $sth->bind_param_inout($p_num, \$bind_value, $max_len); $rv = $sth->bind_param_inout($p_num, \$bind_value, $max_len, \%attr); $rv = $sth->bind_param_inout($p_num, \$bind_value, $max_len, $bind_type); |
Ces méthodes permettent d'activer une valeur spécifié et la mettre à la position spécifié dans la requête SQL en préparation. |
CONNECT | $dbh = DBI->connect($data_source, $username, $auth, \%attr); | Cette méthode permet d'effectuer une connexion à la base de données. |
DO | $rv = $dbh->do($statement); $rv = $dbh->do($statement, \%attr); $rv = $dbh->do($statement, \%attr, @bind_values); |
Ces méthodes permettent de préparer et d'exécuter les instructions SQL spécifiés. |
EXECUTE | $rv = $sth->execute; $rv = $sth->execute(@bind_values); |
Ces méthodes permettent d'exécuter la requête SQL en préparation. |
EXECUTE_ARRAY | $tuples = $sth->execute_array(\%attr); $tuples = $sth->execute_array(\%attr, @bind_values); ($tuples, $rows) = $sth->execute_array(\%attr); ($tuples, $rows) = $sth->execute_array(\%attr, @bind_values); |
Ces méthodes permettent d'exécuter la requête SQL en préparation pour chaque groupe de valeurs fournit. |
EXECUTE_FOR_FETCH | $tuples = $sth->execute_for_fetch($fetch_tuple_sub); $tuples = $sth->execute_for_fetch($fetch_tuple_sub, \@tuple_status); ($tuples, $rows) = $sth->execute_for_fetch($fetch_tuple_sub); ($tuples, $rows) = $sth->execute_for_fetch($fetch_tuple_sub, \@tuple_status); |
Ces méthodes permettent d'exécuter la requête SQL en préparation pour chaque groupe de valeurs fournit sans contrainte de rangée. |
FETCH | $ary_ref = $sth->fetch; | Cette méthode permet de récupérer le prochaine enregistrement de données et demande une référence à un tableau contenant les valeur de ce champ. |
FETCHALL_ARRAYREF | $tbl_ary_ref = $sth->fetchall_arrayref; $tbl_ary_ref = $sth->fetchall_arrayref($slice); $tbl_ary_ref = $sth->fetchall_arrayref($slice, $max_rows); |
Cette méthode permet de récupérer tous les données à retourner pour la préparation et l'exécution de la requête SQL. |
FETCHALL_HASHREF | $hash_ref = $sth->fetchall_hashref($key_field); | Cette méthode permet de récupérer tous les données à retourner pour la préparation et l'exécution de la requête SQL dans un tableau haché. |
FETCHROW_ARRAYREF | $ary_ref = $sth->fetchrow_arrayref; | Cette méthode permet de récupérer le prochaine enregistrement de données et demande une référence à un tableau contenant les valeur de ce champ. |
FETCHROW_ARRAY | @ary = $sth->fetchrow_array; | Cette méthode permet de récupérer le prochaine enregistrement de données et demande une liste des valeurs de ce champ. |
FETCHROW_HASHREF | $hash_ref = $sth->fetchrow_hashref($name); | Cette méthode permet de récupérer le prochaine enregistrement de données et demande une référence de paire de nom de champ et de valeur de champ. |
FINISH | $rc = $sth->finish; | Cette méthode permet d'indiquer qu'il n'y aura plus de données récupérer avant que soit exécuté une nouvelle requête SQL ou quel soit libéré de la mémoire. |
PREPARE | $sth = $dbh->prepare($statement); $sth = $dbh->prepare($statement, \%attr); |
Ces méthodes permettent de préparer les instructions SQL pour qu'il soit exécuter plus tard. |
ROWS | $rv = $sth->rows; | Cette méthode permet de demander le nombre d'enregistrement affecté par la dernière requête SQL ou -1 si le nombre d'enregistements est inconnus ou indisponible. |
SELECTALL_ARRAYREF | $ary_ref = $dbh->selectall_arrayref($statement); $ary_ref = $dbh->selectall_arrayref($statement, \%attr); $ary_ref = $dbh->selectall_arrayref($statement, \%attr, @bind_values); |
Ces méthodes permettent de préparer, d'exécuter et de retourner un tableau par référence de tous les éléments. |
SELECTROW_HASHREF | $hash_ref = $dbh->selectrow_hashref($statement); $hash_ref = $dbh->selectrow_hashref($statement, \%attr); $hash_ref = $dbh->selectrow_hashref($statement, \%attr, @bind_values); |
Ces méthodes permettent de préparer, d'exécuter et de retourner un tableau haché de tous les éléments. |
Exemple
Ensuite, en supposant que vous avez une base de données nommé «mabasededonnees» dans votre base de données MySQL avec la table «cdmworkgroup» ayant le contenu suivante :
Cin | WorkGroupId | Name_EN | Name_FR | Description | Status | CreateDate | CreateUserId | LastUpdate | UpdateUserId |
---|---|---|---|---|---|---|---|---|---|
000 | 0000023901 | Coder | Développement | Groupe de programmeur effectuant de la recherche et développement (R&D). | A | 2006/03/09 | SYSADM | 2006/03/09 | SYSADM |
000 | 0000023902 | Maintenance | Maintenance | Groupe maintenant les divers services réseaux, implantant les développements, maintenant l'état actuel du matériel et administratant les accès. | A | 2006/03/09 | SYSADM | 2006/03/09 | SYSADM |
000 | 0000023903 | Direction | Direction | Direction Groupe de travail s'occupant des divers orientations à prendre sur les projets et les produits. | I | 2006/03/09 | SYSADM | 2006/03/09 | SYSADM |
075 | 0000000068 | Test | Teste | Groupe désigné pour le contrôle de la Qualité | A | 2006/03/09 | STREMBLAY | 2006/03/09 | STREMBLAY |
Grâce à ce petit programme, vous pourrez afficher la table «cdmworkgroup» :
- #!/usr/bin/perl
-
- use DBI;
-
- my $Conn = DBI->connect( "dbi:mysql:,mabasededonnees;host=localhost", "root", "motdepasse" )
- or die "Connexion impossible: $DBI::errstr\n";
-
- $sth = $Conn->prepare("SELECT Name_EN,Name_FR FROM cdmworkgroup ");
- $Result = $sth->execute;
-
- while ($CurrLine = $sth->fetchrow_hashref) {
- print $CurrLine->{Name_EN} . ", " . $CurrLine->{Name_FR} . "\n";
- }
on obtiendra le résultat suivant :
Test, TesteCoder, Développement
Maintenance, Maintenance
Direction, Direction
Voir également
Langage de programmation - Perl - Affiche une table dans une base de données MySQL
Dernière mise à jour : Dimanche, le 18 octobre 2015