Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Banco de dados padrão MySQL


Veja como definir um banco de dados padrão para todas as consultas subsequentes.

O MySQL permite que você defina um banco de dados padrão a ser usado como contexto para quaisquer instruções SQL subsequentes. Pode haver muitos bancos de dados no servidor e o MySQL precisa saber em qual banco de dados você deseja que qualquer instrução SQL seja executada. Definir um banco de dados padrão é um bom começo, pois evita que você precise especificar o banco de dados na consulta.

Você pode alterar o banco de dados padrão quantas vezes quiser. Não é necessariamente uma coisa de "definir e esquecer". Dependendo de quantos bancos de dados você está trabalhando, você pode alternar o banco de dados padrão com bastante frequência.

Você pode definir o banco de dados padrão programaticamente ou por meio da interface gráfica.

Usando a GUI do MySQL Workbench


Clique com o botão direito do mouse no nome do banco de dados em SCHEMAS guia (no menu à esquerda):

O banco de dados padrão agora será listado em negrito tipo de letra:

Programaticamente


O USE instrução diz ao MySQL para usar um banco de dados específico como padrão quando você executa instruções SQL subsequentes.
USE FruitShop;

Agora, todas as consultas subsequentes serão executadas no FruitShop DB. Assim:
USE FruitShop;
SELECT * FROM Fruit;

O CREATE DATABASE Roteiro


O USE pode realmente ser útil em nossos scripts que criam bancos de dados. Uma vez que criamos nosso banco de dados, podemos defini-lo como o banco de dados padrão especificando o USE declaração contra ela.

Fazer isso garantirá que quaisquer instruções SQL subsequentes usarão nosso banco de dados recém-criado como o banco de dados atual (a menos que especificado de outra forma no script). Isso é importante porque informa ao MySQL em qual banco de dados criar as tabelas:
DROP DATABASE IF EXISTS FruitShop;
CREATE DATABASE FruitShop;
USE FruitShop;
CREATE TABLE table_1 (...);
CREATE TABLE table_2 (...);

Alternando o banco de dados padrão


Não há nada que impeça você de alternar o banco de dados padrão várias vezes em seus scripts. Então, se você tivesse dois bancos de dados, você poderia fazer algo assim:
USE FruitShop;
SELECT * FROM Fruit;

USE VegeShop;
SELECT * FROM Vegetables;

A consulta acima seleciona todos os registros do Fruit mesa na FruitShop banco de dados e todos os registros do Vegetais tabela na VegeShop base de dados. Sem o USE declaração, o MySQL não saberia qual banco de dados consultar para cada declaração.

Claro, este é um exemplo simplificado. Muitas vezes você se encontrará fazendo consultas mais complexas em seus bancos de dados e essa técnica pode realmente ajudar.

Qualificação do nome do banco de dados na declaração


Independentemente de você definir um banco de dados padrão, você também pode especificar o banco de dados dentro a declaração.

Para fazer isso, use a seguinte sintaxe:database.table.column

Aqui está um exemplo:
SELECT FruitName, VegeName FROM FruitShop.Fruit, VegeShop.Vegetables
WHERE FruitShop.Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;

Substituir o banco de dados padrão — especifique o banco de dados em uma consulta


Definir um banco de dados padrão não impede que você consulte outros bancos de dados. Mesmo depois de definir um banco de dados padrão, você ainda pode consultar outros bancos de dados sem precisar defini-los como padrão. Você ainda pode especificar qual banco de dados usar em suas consultas. Na verdade, você pode usar vários bancos de dados em uma única consulta usando esse método.

Assim, o exemplo acima também poderia ser escrito da seguinte forma:
USE FruitShop;
SELECT FruitName, VegeName FROM Fruit, VegeShop.Vegetables
WHERE Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;