Voici comment définir une base de données par défaut pour toutes les requêtes suivantes.
MySQL vous permet de définir une base de données par défaut à utiliser comme contexte pour toutes les instructions SQL ultérieures. Il peut y avoir de nombreuses bases de données sur le serveur et MySQL doit savoir sur quelle base de données vous souhaitez exécuter une ou plusieurs instructions SQL. Définir une base de données par défaut est un bon début car cela vous évite d'avoir à spécifier la base de données dans la requête.
Vous pouvez modifier la base de données par défaut aussi souvent que vous le souhaitez. Ce n'est pas nécessairement une chose "réglée et oubliée". Selon le nombre de bases de données avec lesquelles vous travaillez, vous pouvez changer assez fréquemment de base de données par défaut.
Vous pouvez définir la base de données par défaut soit par programmation, soit via l'interface graphique.
Utilisation de l'interface graphique MySQL Workbench
Faites un clic droit sur le nom de la base de données dans les SCHEMAS onglet (dans le menu de gauche) :
La base de données par défaut sera désormais répertoriée en gras police :
Par programmation
Le USE
indique à MySQL d'utiliser une base de données particulière par défaut lorsque vous exécutez des instructions SQL ultérieures.
USE FruitShop;
Désormais, toutes les requêtes ultérieures seront exécutées sur FruitShop BD. Comme ceci :
USE FruitShop; SELECT * FROM Fruit;
Le CREATE DATABASE
Scénario
Le USE
déclaration peut vraiment être utile dans nos scripts qui créent des bases de données. Une fois que nous avons créé notre base de données, nous pouvons la définir comme base de données par défaut en spécifiant le USE
déclaration à son encontre.
Cela garantira que toutes les instructions SQL ultérieures utiliseront notre base de données nouvellement créée comme base de données actuelle (sauf indication contraire dans le script). Ceci est important car il indique à MySQL sur quelle base de données créer les tables :
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop; USE FruitShop; CREATE TABLE table_1 (...); CREATE TABLE table_2 (...);
Changement de base de données par défaut
Rien ne vous empêche de changer plusieurs fois de base de données par défaut dans vos scripts. Donc, si vous aviez deux bases de données, vous pourriez faire quelque chose comme ceci :
USE FruitShop; SELECT * FROM Fruit; USE VegeShop; SELECT * FROM Vegetables;
La requête ci-dessus sélectionne tous les enregistrements du
Fruit
table dans le
FruitShop
base de données et tous les enregistrements de
Légumes
table dans le
VegeShop
base de données. Sans le USE
instruction, MySQL ne saurait pas quelle base de données interroger pour chaque instruction.
Bien entendu, il s'agit d'un exemple simplifié. Vous vous retrouverez souvent à effectuer des requêtes plus complexes sur vos bases de données et cette technique peut vraiment vous aider.
Qualifier le nom de la base de données dans la déclaration
Que vous définissiez ou non une base de données par défaut, vous pouvez également spécifier la base de données dans la déclaration.
Pour cela, utilisez la syntaxe suivante :database.table.column
Voici un exemple :
SELECT FruitName, VegeName FROM FruitShop.Fruit, VegeShop.Vegetables WHERE FruitShop.Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;
Remplacer la base de données par défaut :spécifiez la base de données dans une requête
La définition d'une base de données par défaut ne vous empêche pas d'interroger d'autres bases de données. Même après avoir défini une base de données par défaut, vous pouvez toujours interroger d'autres bases de données sans avoir à les définir par défaut. Vous pouvez toujours spécifier la base de données à utiliser dans vos requêtes. En fait, vous pouvez utiliser plusieurs bases de données dans une seule requête en utilisant cette méthode.
Ainsi, l'exemple ci-dessus pourrait également s'écrire comme suit :
USE FruitShop; SELECT FruitName, VegeName FROM Fruit, VegeShop.Vegetables WHERE Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;