1 / 29

MySQL

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 / Références. I / Présentation de Mysql. 1) Historique.

mali
Download Presentation

MySQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 / Références

  2. I / Présentation de Mysql

  3. 1) 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

  4. 2) Caractéristiques (++) • Vitesse. • Facilité d’utilisation. • Coût. • Capacités. • Connexion et Sécurité. • Portabilité. • Distribution ouverte.

  5. 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.

  6. 4) Installation • Récupérer les sources sur www.mysql.com • tar zxf mysql-version.tar.gz • ./configure - -prefix=« path » • make • make install • lancer le script mysql_install_db

  7. 5) 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

  8. II / Administration et Outils

  9. 2) 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.

  10. 3) Exemples

  11. III / Mysql et le langage C

  12. 1) 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 ();

  13. 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; }

  14. 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; }…

  15. 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"); } }

  16. 3) Compilation • Includes -I/usr/include/mysql • Librairies -L/usr/local/lib/mysql -lmysqlclient

  17. IV / Mysql et le langage C++

  18. 1) API C++ • Installer MySQL++ 1.7.6 • Class Connection • Class Query • Class Result • Class Row

  19. 2) Exemple int 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; }

  20. 3) Compilation • Includes -I/usr/include/mysql • Librairies -L/usr/lib/mysql -lsqlplus

  21. V / Mysql et Java

  22. 1) 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

  23. 2) JDBC • Java Database Connectivity • Communiquer avec les bases de données • Package java.sql • Appel package généralisé vers propriétaire • 4 types : • Type 1 : Passerelle JDBC - ODBC • Type 4 : Pilotes 100 % Java, plus performant.

  24. 3) 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(); …

  25. VI / Benchmarks • C’est pas moi les fait !!!

  26. VII / Références • www.mysql.com • API's • Clients • Outils Web • Outils d’authentification • ….. • MySQL - Paul Dubois - CampusPress

More Related