Ето как да зададете база данни по подразбиране за всички следващи заявки.
MySQL ви позволява да зададете база данни по подразбиране, която да се използва като контекст за всички следващи SQL изрази. Може да има много бази данни на сървъра и MySQL трябва да знае с коя база данни искате да се изпълнява/и SQL израз/и. Задаването на база данни по подразбиране е добро начало, тъй като ви спестява необходимостта да посочвате базата данни в заявката.
Можете да променяте DB по подразбиране толкова често, колкото искате. Това не е непременно нещо "настрой и забрави". В зависимост от това с колко бази данни работите, може да превключвате доста често DB по подразбиране.
Можете да зададете базата данни по подразбиране или програмно, или чрез графичния интерфейс.
Използване на GUI на MySQL Workbench
Щракнете с десния бутон върху името на базата данни в СХЕМИ раздел (в лявото меню):
Базата данни по подразбиране вече ще бъде посочена в удебелен шрифт:
Програмно
USE
оператор казва на MySQL да използва конкретна база данни по подразбиране, когато изпълнявате последващи SQL изрази.
USE FruitShop;
Сега всички следващи заявки ще се изпълняват срещу FruitShop DB. Като това:
USE FruitShop; SELECT * FROM Fruit;
CREATE DATABASE
Скрипт
USE
изявлението наистина може да бъде полезно в нашите скриптове, които създават бази данни. След като създадем нашата база данни, можем да я зададем като база данни по подразбиране, като посочим USE
изявление срещу него.
Това ще гарантира, че всички следващи SQL изрази ще използват нашата новосъздадена база данни като текуща DB (освен ако не е посочено друго в скрипта). Това е важно, защото казва на MySQL коя DB да създаде таблиците срещу:
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop; USE FruitShop; CREATE TABLE table_1 (...); CREATE TABLE table_2 (...);
Превключване на базата данни по подразбиране
Няма нищо, което да ви спре да превключвате базата данни по подразбиране няколко пъти в рамките на вашите скриптове. Така че, ако имате две бази данни, бихте могли да направите нещо подобно:
USE FruitShop; SELECT * FROM Fruit; USE VegeShop; SELECT * FROM Vegetables;
Горната заявка избира всички записи от
Плодове
таблица в
FruitShop
база данни и всички записи от
зеленчуци
таблица в
VegeShop
база данни. Без USE
изявление, MySQL няма да знае коя база данни да поиска за всеки израз.
Разбира се, това е опростен пример. Често ще откриете, че правите по-сложни заявки към вашите бази данни и тази техника наистина може да помогне.
Квалифициране на името на DB в изявлението
Независимо дали сте задали база данни по подразбиране, можете също да посочите базата данни вътре изявлението.
За да направите това, използвайте следния синтаксис:database.table.column
Ето един пример:
SELECT FruitName, VegeName FROM FruitShop.Fruit, VegeShop.Vegetables WHERE FruitShop.Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;
Отмяна на DB по подразбиране — посочете базата данни в рамките на заявка
Задаването на база данни по подразбиране не ви пречи да правите заявки към други бази данни. Дори и след като сте задали база данни по подразбиране, все още можете да правите заявки за други бази данни, без да се налага да ги задавате по подразбиране. Все още можете да посочите коя база данни да използвате във вашите заявки. Всъщност можете да използвате множество бази данни в рамките на една заявка, като използвате този метод.
Така че горният пример може да бъде написан и по следния начин:
USE FruitShop; SELECT FruitName, VegeName FROM Fruit, VegeShop.Vegetables WHERE Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;