sql >> Database teknologi >  >> RDS >> Mysql

MySQL standarddatabase

Her er, hvordan du indstiller en standarddatabase for alle efterfølgende forespørgsler.

MySQL giver dig mulighed for at indstille en standarddatabase, der skal bruges som kontekst for eventuelle efterfølgende SQL-sætninger. Der kan være mange databaser på serveren, og MySQL skal vide, hvilken database du vil have en eller flere SQL-sætninger til at blive kørt imod. At indstille en standarddatabase er en god start, da det sparer dig for at skulle angive databasen i forespørgslen.

Du kan ændre standard-DB så ofte du vil. Det er ikke nødvendigvis en "sæt og glem" ting. Afhængigt af hvor mange databaser du arbejder med, kan du skifte standard-DB ret ofte.

Du kan indstille standarddatabasen enten programmatisk eller via den grafiske grænseflade.

Brug af MySQL Workbench GUI

Højreklik på databasenavnet i SCHEMAS faneblad (i venstre menu):

Standarddatabasen vil nu blive vist med fed skrift skrifttype:

Programmatisk

USE sætning fortæller MySQL at bruge en bestemt database som standard, når du kører efterfølgende SQL-sætninger.

USE FruitShop;

Nu vil alle efterfølgende forespørgsler blive kørt mod FruitShop DB. Sådan:

USE FruitShop;
SELECT * FROM Fruit;

CREATE DATABASE Script

USE statement kan virkelig komme til nytte i vores scripts, der skaber databaser. Når vi har oprettet vores database, kan vi indstille den som standarddatabasen ved at angive USE udtalelse imod det.

Dette vil sikre, at alle efterfølgende SQL-sætninger vil bruge vores nyoprettede database som den aktuelle DB (medmindre andet er angivet i scriptet). Dette er vigtigt, fordi det fortæller MySQL, hvilken DB tabellerne skal oprettes mod:

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

Skift af standarddatabasen

Der er intet, der forhindrer dig i at skifte standarddatabasen flere gange i dine scripts. Så hvis du havde to databaser, kunne du gøre noget som dette:

USE FruitShop;
SELECT * FROM Fruit;

USE VegeShop;
SELECT * FROM Vegetables;

Ovenstående forespørgsel vælger alle poster fra Fruit tabellen i FruitShop database og alle poster fra Grøntsager tabel i VegeShop database. Uden USE sætning, ville MySQL ikke vide, hvilken database der skulle forespørges på for hver sætning.

Dette er selvfølgelig et forenklet eksempel. Ofte vil du finde dig selv i at lave mere komplekse forespørgsler mod dine databaser, og denne teknik kan virkelig hjælpe.

Kvalificering af DB-navnet i erklæringen

Uanset om du indstiller en standarddatabase, kan du også angive databasen indenfor erklæringen.

For at gøre dette skal du bruge følgende syntaks:database.table.column

Her er et eksempel:

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

Tilsidesæt standard-DB — Angiv databasen i en forespørgsel

Indstilling af en standarddatabase forhindrer dig ikke i at forespørge i andre databaser. Selv efter at du har angivet en standarddatabase, kan du stadig forespørge i andre databaser uden at skulle angive dem som standard. Du kan stadig angive, hvilken database der skal bruges i dine forespørgsler. Faktisk kan du bruge flere databaser inden for en enkelt forespørgsel ved hjælp af denne metode.

Så ovenstående eksempel kunne også skrives som følger:

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

  1. Brug af PHP til at udføre flere MYSQL-forespørgsler

  2. MySQL Vælg alle kolonner fra én tabel og nogle fra en anden tabel

  3. Præstationsovervågning og -revision PostgreSQL - Topressourcer

  4. SQL-kommando til at liste og vise alle databaser i MySQL &MariaDB