Mysql
 sql >> база данни >  >> RDS >> Mysql

База данни по подразбиране на MySQL

Ето как да зададете база данни по подразбиране за всички следващи заявки.

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 ;

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Предоставяне на разрешения на потребител на MySQL в Linux чрез командния ред

  2. трябва да върне два набора данни с две различни клаузи where

  3. Каква е разликата между MyISAM и InnoDB?

  4. Как да поръчам по име на месец в MySQL

  5. Комбинирайте множество дъщерни реда в един ред MYSQL