Sie sind auf Seite 1von 2

TP4-19/Interaction JAVA - Bases de données avec JDBC

1) Créer et Alimenter les tables

Tout d'abord, nous allons créer les tables pour notre exemple de base de données. La table
auteur, contient les informations essentielles concernant les auteurs. La syntaxe de la table
auteur, est la suivante :

L'instruction SQL qui suit, crée la table auteur.


CREATE TABLE IF NOT EXISTS `auteur` (
`Numauteur` int(6) NOT NULL AUTO_INCREMENT,
`Nomauteur` varchar(15) NOT NULL,
`Prenomauteur` varchar(15) DEFAULT NULL,
PRIMARY KEY (`Numauteur`)
)

Maintenant, mettons le code entre guillemet (pour en faire une chaîne de caractères) et
assignons ce String à une variable creerTableAuteur que nous utiliserons plus tard
dans notre code JDBC.
Remarque : un String qui s'étend sur plus d'une ligne peut poser des problèmes. Par
conséquent, coupez en plusieurs lignes et concaténez les avec un "+".

String creerTableAuteur = "CREATE TABLE IF NOT EXISTS auteur ("


+ "`Numauteur` int(6) NOT NULL AUTO_INCREMENT,"
+ "`Nomauteur` varchar(15) NOT NULL,"
+ "`Prenomauteur` varchar(15) DEFAULT NULL,"
+ "PRIMARY KEY (`Numauteur`)"
+ ")";

Le type de données que nous avons utilisé dans notre CREATE TABLE est le type SQL
(aussi appelé type JDBC) générique qui est défini dans java.sql.Types. Les SGBD utilisent
généralement ces types standards.

1.1 Créer une instruction JDBC

Un objet Statement est ce que votre instruction SQL envoie vers le SGBD. Vous créerez
simplement un objet Statement puis, l'exécuterez, lui fournissant la méthode d'exécution
appropriée avec l'instruction SQL que vous voulez envoyer. Pour une instruction SELECT, la
méthode à utiliser est executeQuery. Pour les instructions visant à créer ou modifier des
tables, la méthode est executeUpdate.
Vous devez avoir l'instance d'une connexion active pour créer un objet Statement. Dans
l'exemple suivant, nous utilisons notre objet Connection con, pour créer l'objet Statement
stmt :
Statement stmt = con.createStatement();

A ce niveau, stmt existe, mais il n'a aucune instruction SQL à passer au SGBD. Nous
devrons la fournir dans la méthode que nous utiliserons pour exécuter stmt. Par exemple,
dans le code suivant, nous proposons executeUpdate avec l'instruction SQL :
stmt.executeUpdate(creerTableAuteur);
Remarque importante : un statement doit être fermé s'il n'est plus utilisé.
stmt.close();

1.2 Exécuter une instruction

Nous avons utilisé la méthode executeUpdate car l'instruction SQL contenue dans
creerTableAuteur est une DDL (Data Definition Language).
Les instructions consistant à créer, modifier ou effacer des tables sont des exemples d'instructions
DDL et sont exécutées avec la méthode executeUpdate. La méthode executeUpdate est
utilisée pour exécuter les instructions SQL qui mettent à jour une table.
En pratique, executeUpdate est utilisée le plus souvent pour mettre des tables à jour plutôt
que pour les créer, car une table ne peut être créée qu'une seule fois, mais mise à jour plusieurs
fois.

1.3 L'entrée de données dans une table

Nous vous avons montré comment créer la table Auteur en spécifiant le nom des colonnes et le
type de données qu'elles contiennent, mais cela ne fait que construire la structure de la table. Elle
ne contient aucune donnée. Nous allons entrer nos données dans une table une ligne à la fois,
fournissant l'information à stocker dans chacune des colonnes de cette ligne. Notez que les valeurs
insérées dans les colonnes doivent être dans le même ordre que les colonnes à leur création.

Comme nous l'avons fait pour créer des tables, nous allons déclarer un objet Statement, et
l'exécuter en utilisant la méthode executeUpdate.
//Statement stmt = con.createStatement();
stmt.executeUpdate("INSERT INTO `auteur` (`Numauteur`,
`Nomauteur`, `Prenomauteur`) VALUES"
+ "(1, 'ALI', 'HACHI'),"
+ "(2, 'AHMED', 'SOULEIMAN'),"
+ "(3, 'OSMAN', 'ALI'),"
+ "(4, 'OMAR', 'AHMED'),"
+ "(5, 'SAID', 'ELMI')");

TAF:

NB: n’oubliez pas de supprimer la table Auteur, si elle était déjà créée auparavant.

Ecrivez un programme JAVA permettant de se connecter à votre base de données MYSQL, de


créer la table Auteur et d'alimenter cette dernière.
N'oubliez pas de fermer les ressources à la fin de votre programme.
Et d’organiser les imports : import java.sql.*;
Mais aussi de gérer les exceptions comme suit :

-ClassNotFoundException, celle-ci concerne le type de Class.forName,


-SQLException concerne tous les objets de type Connection.

Das könnte Ihnen auch gefallen