MySQL I / Présentation. II / Administration et Outils. III / Mysql et le langage C. IV / Mysql et le langage C++. V / Mysql et Java. VI / Benchmarks VII.
Post on 03-Apr-2015
119 Views
Preview:
Transcript
MySQLMySQL
I / Présentation.II / Administration et Outils.III / Mysql et le langage C.IV / Mysql et le langage C++.V / Mysql et Java.VI / BenchmarksVII / Références
I / Présentation de MysqlI / Présentation de Mysql
1) Historique1) Historique
En 94, M. Widenius crée un nouveau serveur basé sur les caractéristiques de msql.
En 95, Tcx distribue MySQL sur Internet.Version 3.11.1 diffusée dès 1996 (plusieurs
plate-formes)Aujourd’hui Version 3.23.27
2) Caractéristiques (++)2) Caractéristiques (++)
Vitesse.Facilité d’utilisation.Coût.Capacités.Connexion et Sécurité.Portabilité.Distribution ouverte.
3) Caractéristiques (--)3) Caractéristiques (--)
Subselect.Transanctions et commit / rollback.Clés étrangères et intégrité référentielle.Procédures stockées.Déclencheurs.Vues.
4) Installation4) Installation
Récupérer les sources sur www.mysql.comtar zxf mysql-version.tar.gz./configure - -prefix=« path »make make installlancer le script mysql_install_db
5) Démarrage5) Démarrage
lancer la commande safe_mysqld &Pour un démarrage automatique :
– Dans /etc/rc.d/init.d/ créer un lien symbolique mysql vers /usr/local/share/mysql.server :
ln –s /usr/local /share/mysql.server /etc/rc.d/init.d/mysql
– Dans /etc/rc.d/rc3.d créer un lien symbolique S90mysql vers /etc/rc.d/init.d/mysql
ln –s /etc/rc.d/init.d/mysql /etc/rc.d/rc3.d/S90mysql
II / Administration et OutilsII / Administration et Outils
2) Outils2) Outils
mysql : shell sql. mysqladmin : création, destruction de bases. mysqldump : sauvegarder une base. mysqlimport: importer un fichier de
données. mysqlshow : infos sur les bases, les
tables, les colonnes et les index. isamchk : maintenance et la réparation.
3) Exemples3) Exemples
III / Mysql et le langage CIII / Mysql et le langage C
1) API C et Structures1) API C et Structures MYSQL pointeur sur une base MYSQL_RES résultat d’une requete MYSQL_ROW ligne de données. MYSQL_FIELD infos sur un champ
mysql_real_connect() mysql_close () //Connexions
mysql_query () mysql_store_result (); mysql_free_result() // Execution
mysql_fetch_row () // Récupération des résultats mysql_field_seek (); mysql_fetch_field ();
2) Exemple(1)2) Exemple(1)int main (int argc, char *argv[]){ …….. MYSQL *conn; conn = mysql_init (NULL); if(mysql_real_connect(conn,host_name,user_name, password,db_name,port_num,socket_name,flags) == NULL){ printf("mysql_real_connect() failed"); return -1; } process_query (conn,argv[1]); mysql_close (conn); return 0;}
Exemple(2)Exemple(2)int process_query (MYSQL *conn, char *query){
MYSQL_RES *res_set; if (mysql_query (conn, query) != 0){ printf("process_query() failed"); return -1; } res_set = mysql_store_result (conn); if (res_set != NULL){ process_result_set (conn, res_set); mysql_free_result (res_set); return 0; }…
Exemple(3)Exemple(3)void process_result_set (MYSQL *conn, MYSQL_RES *res_set){ MYSQL_ROW row; while ((row = mysql_fetch_row (res_set)) != NULL){ mysql_field_seek (res_set, 0); for (i = 0; i < mysql_num_fields (res_set); i++){ field = mysql_fetch_field (res_set); printf (" %s |",row[i]); } printf("\n"); }}
3) Compilation 3) Compilation
Includes
-I/usr/include/mysql
Librairies
-L/usr/local/lib/mysql -lmysqlclient
IV / Mysql et le langage C++IV / Mysql et le langage C++
1) API C++1) API C++
Installer MySQL++ 1.7.6
Class Connection
Class Query
Class Result
Class Row
2) Exemple2) Exempleint main(int argc,char **argv) { Connection con("etudiant"); Query query = con.query(); query << argv[1]; Result res = query.store(); Row row; Result::iterator i;
for (i = res.begin(); i != res.end(); i++) { row = *i; cout << row[0] << " | " << row[1] << " | " << row[2]<< endl ; } return 0;}
3) Compilation3) Compilation
Includes
-I/usr/include/mysql
Librairies
-L/usr/lib/mysql -lsqlplus
V / Mysql et JavaV / Mysql et Java
1) API Java1) API Java
Spécifiques à la base cible
Installer mm.mysql.jdbc-2.0pre5.tar.gz Créer le CLASSPATH
Class Connection Class Statement Class ResultSet
2) JDBC2) JDBC
Java Database ConnectivityCommuniquer avec les bases de donnéesPackage java.sqlAppel package généralisé vers propriétaire4 types :
– Type 1 : Passerelle JDBC - ODBC– Type 4 : Pilotes 100 % Java, plus
performant.
3) Exemple3) Exemple…Class.forName("org.gjt.mm.mysql.Driver").newInstance(); Connection Conn=
DriverManager.getConnection("jdbc:mysql://localhost/etudiant?user=fred&password=fred");
Statement Stmt = Conn.createStatement();ResultSet RS = Stmt.executeQuery(args[0]);while (RS.next()) {
System.out.println(RS.getInt(1) + " | " + RS.getString(2) + " | " + RS.getString(3));
}RS.close();Stmt.close();Conn.close();…
VI / BenchmarksVI / Benchmarks
C’est pas moi les fait !!!
VII / RéférencesVII / Références
www.mysql.com– API's – Clients – Outils Web – Outils d’authentification– …..
MySQL - Paul Dubois - CampusPress
top related