Skip to content

Les bases de données

Dans les bases de données, l’élément fondamental est la structure des données. MySQL stockera les données dans le repertoire data. Une base de données sera stockée dans un repertoire.

On peut créer une base de données rien qu’en créant un dossier dans data

La base information_shemma sera toujours presente dans un SGBD et elle est virtuelle. Elle est créer à chaque démarrage du serveur.

Créer une Base de Données

Pour créer une base de données, on devra utiliser la syntaxe suivante :

CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] nom_base_de_donnees
[CHARACTER SET jeu_de_caracter
COLLATE tri];

A chaque fois que CREATE DATABASE est appelé, MySQL va créer un repertoire et un fichier dp.opt à l’interieur de celui-ci.

Ce fichier enregistre le jeu de caracteres par défaut (default_character_set=latin1) et l’ordre de tri (collation=latin1_swedish_ci)

Tri
Type Signification
*_*_ci Case Insensitive : compare les caracteres par caracteres et ne tiens pas compte de la casse
*_*_cs Case Sensitive : compare les caracteres par caracteres et tiens compte de la casse
*_*_bin Binary : compare les octets par octets


ATTENTION : Lorsque l’on crée une BDD avec un nom existant, on a un message d’erreur.

Pour eviter se message d’erreur, on utilisera IF NOT EXISTS.

Supprimer une base de données

DROP {DATABASE|SHEMA} [IF EXISTS] nom_base_de_donnees;

Modifier une base de données

On ne peut modifier pour une base de données que le jeu de caracteres

ALTER {DATABASE|SHEMA} nom_base_de_donnees
CHARACTER SET jeu_de_caractere
COLLATE tri;

Les meta-données d’une base de données

//
SELECT * FROM information_schema.SCHEMATAG
//Equivaut à
SHOW DATABASES;

La base information_schema

information_schema est une BDD virtuelle qui contient les meta données sur le systeme MySQL.

NB. : SHOW est une extension MySQL permettant d’obtenir les meta-données

information_schema fait parti du standard SQL et supporté par les SGBD les plus répendus.

Les avantages d’information_schema :

information_schema est STANDARD. Une requete sur cette base est valide sur MySQLl ou sur Oracle.
Fléxibilité

Inconveniant :

Syntaxe plus verbeuse.

Que contient information_schema?
  • des données
  • des routines
  • des triggers
  • des vues
  • des tables
  • des utilisateurs
  • des colonnes
  • des caracteres
  • des collations

USER_PRIVILEGIES

Information sur les privilege des utilisateurs