Zde je návod, jak nastavit výchozí databázi pro všechny následující dotazy.
MySQL vám umožňuje nastavit výchozí databázi, která bude použita jako kontext pro jakékoli následující příkazy SQL. Na serveru může být mnoho databází a MySQL potřebuje vědět, proti které databázi chcete spustit jakýkoli SQL příkaz/y. Nastavení výchozí databáze je dobrý začátek, protože vám ušetří nutnost zadávat databázi v dotazu.
Výchozí DB můžete měnit tak často, jak chcete. Není to nutně věc „nastav a zapomeň“. V závislosti na tom, s kolika databázemi pracujete, můžete často přepínat výchozí DB.
Výchozí databázi můžete nastavit buď programově nebo přes grafické rozhraní.
Použití grafického uživatelského rozhraní MySQL Workbench
Klikněte pravým tlačítkem na název databáze v SCHEMAS záložka (v levém menu):
Výchozí databáze bude nyní uvedena tučně typ písma:
Programově
USE
příkaz říká MySQL, aby při spouštění následujících příkazů SQL použila určitou databázi jako výchozí.
USE FruitShop;
Nyní budou jakékoli následné dotazy spuštěny proti FruitShopu DB. Takhle:
USE FruitShop; SELECT * FROM Fruit;
CREATE DATABASE
Skript
USE
příkaz se může opravdu hodit v našich skriptech, které vytvářejí databáze. Jakmile jsme vytvořili naši databázi, můžeme ji nastavit jako výchozí databázi zadáním USE
prohlášení proti.
Tím zajistíte, že všechny následující příkazy SQL budou používat naši nově vytvořenou databázi jako aktuální DB (pokud není ve skriptu uvedeno jinak). To je důležité, protože říká MySQL, proti které DB má tabulky vytvořit:
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop; USE FruitShop; CREATE TABLE table_1 (...); CREATE TABLE table_2 (...);
Přepnutí výchozí databáze
Nic vám nebrání několikrát přepnout výchozí databázi v rámci vašich skriptů. Takže pokud jste měli dvě databáze, mohli byste udělat něco takového:
USE FruitShop; SELECT * FROM Fruit; USE VegeShop; SELECT * FROM Vegetables;
Výše uvedený dotaz vybere všechny záznamy z
Ovoce
v
FruitShopu
databáze a všechny záznamy z
Vegetables
tabulky ve
VegeShopu
databáze. Bez USE
MySQL by nevědělo, do které databáze se má každý příkaz dotazovat.
Samozřejmě, toto je zjednodušený příklad. Často se přistihnete, že provádíte složitější dotazy na vaše databáze a tato technika vám může opravdu pomoci.
Upřesnění názvu DB v prohlášení
Bez ohledu na to, zda nastavíte výchozí databázi, můžete také zadat databázi v rámci prohlášení.
K tomu použijte následující syntaxi:database.table.column
Zde je příklad:
SELECT FruitName, VegeName FROM FruitShop.Fruit, VegeShop.Vegetables WHERE FruitShop.Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;
Přepsat výchozí databázi — Zadejte databázi v dotazu
Nastavení výchozí databáze vám nebrání v dotazování na jiné databáze. I poté, co jste nastavili výchozí databázi, můžete stále dotazovat jiné databáze, aniž byste je museli nastavit jako výchozí. Stále můžete určit, která databáze se má použít ve vašich dotazech. Ve skutečnosti můžete pomocí této metody použít více databází v rámci jednoho dotazu.
Výše uvedený příklad by tedy mohl být také zapsán následovně:
USE FruitShop; SELECT FruitName, VegeName FROM Fruit, VegeShop.Vegetables WHERE Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;