sql >> Database >  >> RDS >> Mysql

MySQL-standaarddatabase

Hier leest u hoe u een standaarddatabase instelt voor alle volgende zoekopdrachten.

Met MySQL kunt u een standaarddatabase instellen die moet worden gebruikt als context voor eventuele volgende SQL-instructies. Er kunnen veel databases op de server zijn en MySQL moet weten tegen welke database u wilt dat een of meer SQL-instructies worden uitgevoerd. Het instellen van een standaarddatabase is een goed begin, omdat u hierdoor de database niet hoeft op te geven in de zoekopdracht.

U kunt de standaard-DB zo vaak wijzigen als u wilt. Het is niet per se een "instellen en vergeten" ding. Afhankelijk van het aantal databases waarmee u werkt, kunt u de standaard DB vrij vaak wijzigen.

U kunt de standaarddatabase programmatisch of via de grafische interface instellen.

De MySQL Workbench GUI gebruiken

Klik met de rechtermuisknop op de databasenaam in de SCHEMA'S tabblad (in het linkermenu):

De standaarddatabase wordt nu weergegeven in een vet lettertype:

Programmatisch

De USE instructie vertelt MySQL om een ​​bepaalde database als standaard te gebruiken wanneer u volgende SQL-instructies uitvoert.

USE FruitShop;

Nu worden alle volgende zoekopdrachten uitgevoerd tegen de FruitShop DB. Zoals dit:

USE FruitShop;
SELECT * FROM Fruit;

De CREATE DATABASE Script

De USE statement kan echt van pas komen in onze scripts die databases maken. Nadat we onze database hebben gemaakt, kunnen we deze instellen als de standaarddatabase door de USE . op te geven verklaring ertegen.

Als u dit doet, zorgt u ervoor dat alle volgende SQL-instructies onze nieuw gemaakte database gebruiken als de huidige DB (tenzij anders aangegeven in het script). Dit is belangrijk omdat het MySQL vertelt tegen welke DB de tabellen moeten worden aangemaakt:

DROP DATABASE IF EXISTS FruitShop;
CREATE DATABASE FruitShop;
USE FruitShop;
CREATE TABLE table_1 (...);
CREATE TABLE table_2 (...);

De standaarddatabase wijzigen

Niets houdt u tegen om de standaarddatabase meerdere keren te wijzigen in uw scripts. Dus als je twee databases had, zou je zoiets als dit kunnen doen:

USE FruitShop;
SELECT * FROM Fruit;

USE VegeShop;
SELECT * FROM Vegetables;

De bovenstaande zoekopdracht selecteert alle records uit de Fruit tafel in de FruitShop database en alle records van de Groenten tabel in de VegeShop databank. Zonder de USE statement, zou MySQL niet weten welke database voor elk statement moet worden opgevraagd.

Dit is natuurlijk een vereenvoudigd voorbeeld. Vaak zul je merken dat je complexere query's doet op je databases en deze techniek kan echt helpen.

De DB-naam in de verklaring kwalificeren

Ongeacht of u een standaarddatabase instelt, u kunt de database ook binnen . specificeren de verklaring.

Gebruik hiervoor de volgende syntaxis:database.table.column

Hier is een voorbeeld:

SELECT FruitName, VegeName FROM FruitShop.Fruit, VegeShop.Vegetables
WHERE FruitShop.Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;

Overschrijf de standaard database — Specificeer de database binnen een query

Het instellen van een standaarddatabase sluit niet uit dat u andere databases kunt opvragen. Zelfs nadat u een standaarddatabase hebt ingesteld, kunt u nog steeds query's uitvoeren op andere databases zonder dat u deze als standaard hoeft in te stellen. U kunt nog steeds specificeren welke database u wilt gebruiken binnen uw query's. Met deze methode kunt u in feite meerdere databases binnen één query gebruiken.

Het bovenstaande voorbeeld kan dus ook als volgt worden geschreven:

USE FruitShop;
SELECT FruitName, VegeName FROM Fruit, VegeShop.Vegetables
WHERE Fruit.SupplierId = VegeShop.Vegetables.SupplierId ;

  1. Wat is de minimale klantvoetafdruk die nodig is om C# te verbinden met een Oracle-database?

  2. Hoe een variabele in te stellen vanuit een SQL-query?

  3. SQLite - Zet een database neer

  4. Archieflogboekbestemmingsdirectory instellen in Oracle Database