Oto jak ustawić domyślną bazę danych dla wszystkich kolejnych zapytań.
MySQL umożliwia ustawienie domyślnej bazy danych, która będzie używana jako kontekst dla kolejnych instrukcji SQL. Na serwerze może znajdować się wiele baz danych, a MySQL musi wiedzieć, na której bazie danych chcesz uruchomić dowolne polecenie SQL. Ustawienie domyślnej bazy danych to dobry początek, ponieważ pozwala uniknąć konieczności określania bazy danych w zapytaniu.
Możesz zmieniać domyślną bazę danych tak często, jak chcesz. Niekoniecznie jest to kwestia „ustaw i zapomnij”. W zależności od tego, z iloma bazami danych pracujesz, możesz dość często przełączać domyślną bazę danych.
Domyślną bazę danych można ustawić programowo lub za pomocą interfejsu graficznego.
Korzystanie z GUI MySQL Workbench
Kliknij prawym przyciskiem myszy nazwę bazy danych w SCHEMACIE zakładka (w lewym menu):
Domyślna baza danych będzie teraz oznaczona pogrubieniem krój pisma:
Programowo
USE
instrukcja mówi MySQL, aby używał określonej bazy danych jako domyślnej podczas uruchamiania kolejnych instrukcji SQL.
USE FruitShop;
Teraz wszelkie kolejne zapytania będą uruchamiane w FruitShop DB. Tak:
USE FruitShop; SELECT * FROM Fruit;
CREATE DATABASE
Skrypt
USE
Instrukcja może się naprawdę przydać w naszych skryptach tworzących bazy danych. Po utworzeniu naszej bazy danych możemy ustawić ją jako domyślną bazę danych, określając USE
oświadczenie przeciwko niemu.
Dzięki temu wszystkie kolejne instrukcje SQL będą używać naszej nowo utworzonej bazy danych jako bieżącej bazy danych (chyba że w skrypcie określono inaczej). Jest to ważne, ponieważ informuje MySQL, z którą bazą danych ma tworzyć tabele:
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop; USE FruitShop; CREATE TABLE table_1 (...); CREATE TABLE table_2 (...);
Przełączanie domyślnej bazy danych
Nic nie stoi na przeszkodzie, abyś wielokrotnie przełączał domyślną bazę danych w swoich skryptach. Więc jeśli masz dwie bazy danych, możesz zrobić coś takiego:
USE FruitShop; SELECT * FROM Fruit; USE VegeShop; SELECT * FROM Vegetables;
Powyższe zapytanie wybiera wszystkie rekordy z
Owoc
tabela w
FruitShop
baza danych i wszystkie rekordy z
Warzywa
tabela w
VegeShop
Baza danych. Bez USE
instrukcji, MySQL nie wiedziałby, do której bazy danych zapytać dla każdej instrukcji.
Oczywiście jest to uproszczony przykład. Często zdarza się, że wykonujesz bardziej złożone zapytania w swoich bazach danych, a ta technika może naprawdę pomóc.
Kwalifikacja nazwy bazy danych w oświadczeniu
Niezależnie od tego, czy ustawisz domyślną bazę danych, możesz także określić bazę danych w wyrok.
Aby to zrobić, użyj następującej składni:database.table.column
Oto przykład:
SELECT FruitName, VegeName FROM FruitShop.Fruit, VegeShop.Vegetables WHERE FruitShop.Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;
Zastąp domyślną bazę danych — Określ bazę danych w zapytaniu
Ustawienie domyślnej bazy danych nie wyklucza wysyłania zapytań do innych baz danych. Nawet po ustawieniu domyślnej bazy danych nadal możesz wysyłać zapytania do innych baz danych bez konieczności ustawiania ich jako domyślnych. Nadal możesz określić, której bazy danych chcesz używać w swoich zapytaniach. W rzeczywistości, korzystając z tej metody, możesz użyć wielu baz danych w ramach jednego zapytania.
Tak więc powyższy przykład można również zapisać w następujący sposób:
USE FruitShop; SELECT FruitName, VegeName FROM Fruit, VegeShop.Vegetables WHERE Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;