Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Domyślna baza danych MySQL

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 ;

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zastosować metodę bindValue w klauzuli LIMIT?

  2. Czy muszę chronić się przed wstrzyknięciem SQL, jeśli korzystam z listy rozwijanej?

  3. Wiele zapytań wykonywanych w java w jednej instrukcji

  4. Jak uniknąć dzielenia przez zero w MySQL

  5. Znajdowanie zduplikowanych wartości w MySQL