My SQL l I l III l IV















![2) Exemple(1) int main (int argc, char *argv[]){ ……. . MYSQL *conn; conn = 2) Exemple(1) int main (int argc, char *argv[]){ ……. . MYSQL *conn; conn =](https://slidetodoc.com/presentation_image_h2/7b78da7f2cb50ff3eb69108f04dd6ecc/image-16.jpg)













- Slides: 29
My. SQL l. I / l III / l IV / l VII / Présentation. Administration et Outils. Mysql et le langage C++. Mysql et Java. Benchmarks Références
I / Présentation de Mysql
1) Historique l En 94, M. Widenius crée un nouveau serveur basé sur les caractéristiques de msql. l En 95, Tcx distribue My. SQL sur Internet. l Version 3. 11. 1 diffusée dès 1996 (plusieurs plate-formes) l Aujourd’hui Version 3. 27
2) Caractéristiques (++) l Vitesse. l Facilité d’utilisation. l Coût. l Capacités. l Connexion et Sécurité. l Portabilité. l Distribution ouverte.
3) Caractéristiques (--) l Subselect. l Transanctions et commit / rollback. l Clés étrangères et intégrité référentielle. l Procédures stockées. l Déclencheurs. l Vues.
4) Installation l Récupérer les sources sur www. mysql. com l tar zxf mysql-version. tar. gz l. /configure - -prefix= « path » l make install l lancer le script mysql_install_db
5) Démarrage l lancer la commande safe_mysqld & l 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/rc 3. d créer un lien symbolique S 90 mysql vers /etc/rc. d/init. d/mysql ln –s /etc/rc. d/init. d/mysql /etc/rc. d/rc 3. d/S 90 mysql
II / Administration et Outils
2) Outils mysql l mysqladmin l mysqldump l mysqlimport l l mysqlshow l isamchk : shell sql. : création, destruction de bases. : sauvegarder une base. : importer un fichier de données. : infos sur les bases, les tables, les colonnes et les index. : maintenance et la réparation.
3) Exemples
III / Mysql et le langage C
1) API C et Structures MYSQL l MYSQL_RES l MYSQL_ROW l MYSQL_FIELD l l pointeur sur une base résultat d’une requete ligne de données. infos sur un champ mysql_real_connect() mysql_query () l mysql_free_result() l mysql_fetch_row () l mysql_field_seek (); l mysql_fetch_field (); l mysql_close () //Connexions mysql_store_result (); // Execution // Récupération des résultats
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) 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) 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 l Includes -I/usr/include/mysql l Librairies -L/usr/local/lib/mysql -lmysqlclient
IV / Mysql et le langage C++
1) API C++ l Installer My. SQL++ 1. 7. 6 l Class Connection l Class Query l Class Result l Class Row
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; }
3) Compilation l Includes -I/usr/include/mysql l Librairies -L/usr/lib/mysql -lsqlplus
V / Mysql et Java
1) API Java l Spécifiques à la base cible Installer mm. mysql. jdbc-2. 0 pre 5. tar. gz l Créer le CLASSPATH l l Class Connection Class Statement l Class Result. Set l
2) JDBC l Java Database Connectivity l Communiquer avec les bases de données l Package java. sql l Appel package généralisé vers propriétaire l 4 types : – Type 1 – Type 4 : Passerelle JDBC - ODBC : Pilotes 100 % Java, plus performant.
3) Exemple … Class. for. Name("org. gjt. mm. mysql. Driver"). new. Instance(); Connection Conn= Driver. Manager. get. Connection("jdbc: mysql: //localhost/etudiant? user=fred&password=fred"); Statement Stmt = Conn. create. Statement(); Result. Set RS = Stmt. execute. Query(args[0]); while (RS. next()) { System. out. println(RS. get. Int(1) + " | " + RS. get. String(2) + " | " + RS. get. String(3)); } RS. close(); Stmt. close(); Conn. close(); …
VI / Benchmarks l. C’est pas moi les fait !!!
VII / Références l www. mysql. com – API's – Clients – Outils Web – Outils d’authentification – …. . l My. SQL - Paul Dubois - Campus. Press