sql >> Base de Datos >  >> RDS >> Mysql

Base de datos predeterminada de MySQL

Aquí se explica cómo configurar una base de datos predeterminada para todas las consultas posteriores.

MySQL le permite configurar una base de datos predeterminada para usarla como contexto para cualquier instrucción SQL posterior. Puede haber muchas bases de datos en el servidor y MySQL necesita saber en qué base de datos desea que se ejecuten las declaraciones SQL. Establecer una base de datos predeterminada es un buen comienzo, ya que le evita tener que especificar la base de datos en la consulta.

Puede cambiar la base de datos predeterminada con la frecuencia que desee. No es necesariamente una cosa de "establecer y olvidar". Dependiendo de la cantidad de bases de datos con las que esté trabajando, podría estar cambiando la base de datos predeterminada con bastante frecuencia.

Puede establecer la base de datos predeterminada mediante programación o a través de la interfaz gráfica.

Uso de la GUI de MySQL Workbench

Haga clic derecho en el nombre de la base de datos en SCHEMAS pestaña (en el menú de la izquierda):

La base de datos predeterminada aparecerá ahora en negrita tipografía:

Programáticamente

El USE le dice a MySQL que use una base de datos en particular como predeterminada cuando ejecute declaraciones SQL subsiguientes.

USE FruitShop;

Ahora, cualquier consulta posterior se ejecutará en FruitShop DB. Así:

USE FruitShop;
SELECT * FROM Fruit;

El CREATE DATABASE Guión

El USE puede ser realmente útil en nuestros scripts que crean bases de datos. Una vez que hayamos creado nuestra base de datos, podemos configurarla como la base de datos predeterminada especificando el USE declaración en contra.

Hacer esto asegurará que cualquier instrucción SQL posterior utilice nuestra base de datos recién creada como la base de datos actual (a menos que se especifique lo contrario en el script). Esto es importante porque le dice a MySQL contra qué base de datos crear las tablas:

DROP DATABASE IF EXISTS FruitShop;
CREATE DATABASE FruitShop;
USE FruitShop;
CREATE TABLE table_1 (...);
CREATE TABLE table_2 (...);

Cambiar la base de datos predeterminada

No hay nada que le impida cambiar la base de datos predeterminada varias veces dentro de sus scripts. Entonces, si tuviera dos bases de datos, podría hacer algo como esto:

USE FruitShop;
SELECT * FROM Fruit;

USE VegeShop;
SELECT * FROM Vegetables;

La consulta anterior selecciona todos los registros de Fruit mesa en la FruitShop base de datos y todos los registros de Verduras mesa en la VegeShop base de datos. Sin el USE declaración, MySQL no sabría qué base de datos consultar para cada declaración.

Por supuesto, este es un ejemplo simplificado. A menudo, se encontrará realizando consultas más complejas en sus bases de datos y esta técnica realmente puede ayudar.

Calificación del nombre de la base de datos en la declaración

Independientemente de si establece una base de datos predeterminada, también puede especificar la base de datos dentro la declaración.

Para hacer esto, use la siguiente sintaxis:database.table.column

He aquí un ejemplo:

SELECT FruitName, VegeName FROM FruitShop.Fruit, VegeShop.Vegetables
WHERE FruitShop.Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;

Anular la base de datos predeterminada:especificar la base de datos dentro de una consulta

Establecer una base de datos predeterminada no le impide consultar otras bases de datos. Incluso después de haber configurado una base de datos predeterminada, aún puede consultar otras bases de datos sin tener que configurarlas como predeterminadas. Todavía puede especificar qué base de datos usar dentro de sus consultas. De hecho, puede usar múltiples bases de datos dentro de una sola consulta usando este método.

Entonces, el ejemplo anterior también podría escribirse de la siguiente manera:

USE FruitShop;
SELECT FruitName, VegeName FROM Fruit, VegeShop.Vegetables
WHERE Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;