Partie I
SQL de base
158
© Éditions Eyrolles
Modification d’une base (ALTER DATABASE)
ALTER DATABASE vous permet de modifier le jeu de caractères par défaut d’une base de
données. Pour pouvoir changer ainsi une base, vous devez avoir le privilège ALTER sur la base
de données en question.
ALTER {DATABASE nomBase
[ [DEFAULT] CHARACTER SET nomJeu ]
[ [DEFAULT] COLLATE nomCollation ];
L’instruction suivante modifie la base « chinoise » en lui affectant le jeu de caractères de type
DOS.
ALTER DATABASE bdnouvelle2
;
Suppression d’une base (DROP DATABASE)
Pour pouvoir supprimer une base de données, vous devez posséder le privilège DROP sur la
base (ou au niveau global pour effacer toute base). Cette commande détruit tous les objets
(tables, index, etc.) et le répertoire contenus dans la base.
DROP {DATABASE | SCHEMA} [IF EXISTS] nomBase;
q
IF EXISTS évite une erreur dans le cas où la base de données n’existerait pas.
q
Cette instruction retourne le nombre de tables qui on été supprimées (fichiers à l’extension
« .frm »).
Disons à présent adios à la base « chinoise » :
DROP DATABASE bdnouvelle2;
Privilèges
Depuis le début du livre, nous avons parlé de privilèges. Il est temps à présent de préciser ce
que recouvre ce terme. Un privilège (sous-entendu utilisateur) est un droit d’exécuter une
certaine instruction SQL (on parle de privilège système), ou un droit relatif aux données des
tables situées dans différentes bases (on parle de privilège objet). La connexion, par exemple,
sera considérée comme un privilège système bien que n’étant pas une commande SQL.
Les privilèges système diffèrent sensiblement d’un SGBD à un autre. Chez Oracle, il y en a
plus d’une centaine, MySQL est plus modeste en n’en proposant qu’une vingtaine. En revanche, on retrouvera les mêmes privilèges objet (exemple : autorisation de modifier la colonne
nomComp de la table Compagnie) qui sont attribués ou retirés par les instructions GRANT et
REVOKE.
DEFAULT CHARACTER SET cp850
Précédent

- 180/418

Suivant