Академический Документы
Профессиональный Документы
Культура Документы
MySQL :
1.1.
Dfinition :
MySQL est un systme de gestion de bases de donnes relationnelles (SGBDR) libre, gratuit,
performant, trs populaire, multi-thread et multi-utilisateurs. Il est constitu de :
Un serveur mysqld : le processus mysqld est le serveur de MySQL. Lui seul peut
accder aux fichiers stockant les donnes pour lire et crire des informations.
Des utilitaires : MySQL fournit tout un ensemble de programmes, que nous
appellerons utilitaires, qui sont chargs de dialoguer avec mysqld, par lintermdiaire
dune connexion, pour accomplir un type de tches particulier. Par exemple
mysqldump permet deffectuer des sauvegardes, mysqlimport peut importer des
fichiers ASCII dans une base.
1.2.
Avantages :
Il est open source, ce qui signifie quil est gratuit et que tout le monde peut lutiliser et
le modifier
Il est scuris : Il dispose dun systme de scurit permettant de grer les personnes et
les machines pouvant accder aux diffrentes bases.
1.3.
Configuration :
On commence par linstallation. Celle-ci est trs simple, il suffit de taper la commande Yum
install mysql-server . Ensuite il est ncessaire de dmarrer le service avec systemctl start
mysqld.service .On doit aussi scuriser MySql puisque ce dernier gre ses propres
utilisateurs et mots de passe.
2. MySQL et langage C :
MySQL fournit une bibliothque client crite en langage C qui permet dcrire des
programmes clients MySQL assurant l'accs une base de donnes MySQL. Cette
bibliothque offre les fonctions suivantes :
3. Code :
En premier lieu, on cre une base de donnes testdb, ensuite une table nomme etudiant :
mysql> create table etudiant (id int not null primary key auto_increment,
nom varchar(20), age int);
int num_fields;
int i;
conn = mysql_init(NULL);
mysql_real_connect(conn, "mysql", "root", "passwd", "testdb", 0, NULL,
0);
mysql_query(conn, "SELECT * FROM etudiant");
result = mysql_store_result(conn);
num_fields = mysql_num_fields(result);
while ((row = mysql_fetch_row(result)))
{
for(i = 0; i < num_fields; i++)
{
if (i == 0) {
while(field = mysql_fetch_field(result)) {
printf("%s ", field->name);
}
printf("\n");
}
printf("%s ", row[i] ? row[i] : "NULL");
}
}
printf("\n");
mysql_free_result(result);
mysql_close(conn);