Partie I
SQL de base
156
© Éditions Eyrolles
Création d’une base (CREATE DATABASE)
Pour pouvoir créer une base de données, vous devez posséder le privilège CREATE sur la
nouvelle base (ou au niveau global pour créer toute table).
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] nomBase
[ [DEFAULT] CHARACTER SET nomJeu ]
[ [DEFAULT] COLLATE nomCollation ];
q
IF NOT EXISTS évite une erreur dans le cas où la base de données existe déjà (auquel
cas elle ne sera pas remplacée).
q
nomBase désigne le nom de la base (64 caractères maximum, caractères compris par le
système de gestion de fichier du système d’exploitation, notamment respectant les règles
de nommage des répertoires). Les caractères « / », « \ », ou « . » sont proscrits.
q
CHARACTER SET indique le jeu de caractères associé aux données qui résideront dans les
tables de la base.
q
COLLATE définit la collation 1 du jeu de caractères en question. La collation, dans le jargon
informatique, permet de définir la position des caractères dans le jeu. Par exemple, il sera
possible de différencier « à » de « a » ou pas (sensibilité diacritique). Le but étant de
s’adapter aux différentes règles et langues de notre petite planète.
Une fois créée, vous constaterez l’existence d’un répertoire portant le nom de votre nouvelle
base (par défaut sous C:\Program Files\MySQL\MySQL Server 5.n\data\nouvelleBase dans le cas de Windows). Ce répertoire contiendra les données des tables qui seront
constituées dans la nouvelle base. Si vous concevez manuellement un répertoire (mkdir rep1
par exemple) dans le répertoire de data de MySQL, rep1 sera considéré comme une base de
données avec le jeu de caractères par défaut (visible avec « SHOW DATABASES; »).
N’effacez pas le fichier db.opt qui stocke les caractéristiques de la base. Vous pouvez
l’ouvrir avec un éditeur de texte pour connaître le jeu de caractères par défaut que MySQL
affectera à vos bases en l’absence de clause CHARACTER SET. Souhaitons que ce ne soit pas
gb2312 associé par défaut à la collation gb2312_chinese_ci qui vous ferait dire que je
vous parle chinois ! C’est pourtant quelquefois ce que je ressens quand mes étudiants me
regardent avec des yeux de poisson en utilisant le langage des carpes…
Le tableau suivant décrit la création de deux bases de données :
1. Action de comparer entre eux des textes, des documents. Petit Larousse.
Tableau 5-3 Création de bases
Instruction SQL
Résultat
CREATE DATABASE bdnouvelle
DEFAULT CHARACTER SET ascii
COLLATE ascii_general_ci;
La base bdnouvelle est créée, le jeu de caractères
par défaut est ASCII.
CREATE DATABASE bdnouvelle2
DEFAULT CHARACTER SET gb2312;
La base bdnouvelle2 est créée pour les Chinois.
Précédent

- 178/418

Suivant