Het maken van een database in MySQL is ongeveer net zo eenvoudig als het wordt. Eén regel is voldoende. In feite duurt het meestal langer om een naam voor de database te bedenken dan om hem te maken!
Hoewel u uw databases zeker kunt maken via de MySQL Workbench GUI, zult u het waarschijnlijk sneller vinden om ze programmatisch te maken met behulp van de CREATE DATABASE
verklaring.
De CREATE DATABASE
Verklaring
U kunt een nieuwe database maken met behulp van de CREATE DATABASE
uitspraak. Deze instructie maakt deel uit van SQL, een speciale taal voor het doorzoeken en programmeren van databases.
De syntaxis is CREATE DATABASE db_name
waar db_name
is de naam van de database die u wilt maken.
Om bijvoorbeeld een database te maken met de naam FruitShop
typ het volgende in het tabblad Query en voer de query uit:
CREATE DATABASE FruitShop;
Dat is alles wat nodig is. De SCHEMA'S tabblad in het linkermenu zou nu uw database moeten weergeven:
Als u uw database niet kunt zien, klikt u op het kleine vernieuwingspictogram naast de SCHEMA'S rubriek.
U kunt ook de volgende opdracht gebruiken om een lijst met databases op de server weer te geven:
SHOW DATABASES;
Maar je hebt nu natuurlijk een lege database. U moet tabellen toevoegen en gegevens invoegen voordat u een volledig functionerende database hebt. Daar komen we snel op terug.
Het CREATE SCHEMA
Verklaring
Je zou ook de CREATE SCHEMA
. kunnen gebruiken uitspraak. Dit gebruikt dezelfde syntaxis, dus de bovenstaande verklaring kan worden herschreven als volgt:
CREATE SCHEMA FruitShop;
Gebruik IF NOT EXISTS
U kunt IF NOT EXISTS
. gebruiken om te voorkomen dat er een fout optreedt als de database al bestaat. Hier is een voorbeeld:
CREATE DATABASE IF NOT EXISTS FruitShop;
Met behulp van DROP DATABASE IF EXISTS
Met behulp van de bovenstaande IF NOT EXISTS
is geweldig zolang je niet van plan bent de database (en al zijn gegevens) te vervangen door een nieuwe. Maar soms wil je misschien de oude database verwijderen en helemaal opnieuw beginnen. Dit is waar DROP DATABASE
komt van pas.
U kunt DROP DATABASE
. gebruiken om alle tabellen in de database te laten vallen en de database te verwijderen voordat u CREATE DATABASE
uitvoert uitspraak. Je kunt dat combineren met IF EXISTS
om aan te geven dat de instructie alleen moet worden uitgevoerd als de database momenteel bestaat. Dit voorkomt dat er een fout optreedt als u een database probeert te verwijderen die niet echt bestaat.
Dus zo zou dat eruit kunnen zien:
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop;
Over puntkomma's
In het bovenstaande voorbeeld worden puntkomma's gebruikt (;
) om het einde van elke uitspraak te markeren. MySQL-opdrachten bestaan meestal uit een SQL-instructie gevolgd door een puntkomma. Er zijn enkele uitzonderingen, maar de meeste commando's volgen deze conventie. Als u merkt dat een opdracht die u schrijft niet wordt uitgevoerd, controleer dan of u de puntkomma na elke instructie hebt toegevoegd.
Databaseontwerp
Voordat u uw database maakt, moet u nadenken over het ontwerp ervan. U moet nadenken over welke tabellen en andere objecten het zal bevatten, evenals de gegevens die in de database zullen worden opgeslagen.
In werkelijkheid, wanneer u een database maakt, maakt u niet alleen een lege database en denkt u na over welke tabellen er later in zullen komen. Normaal gesproken zou je een script schrijven dat de database en al zijn tabellen en andere objecten in één keer maakt.
Gelukkig is het vrij eenvoudig om dit te doen. Het is gewoon een kwestie van SQL-instructies de een na de ander combineren voor elk object dat u wilt maken.
We zullen hierna kijken naar het maken van tabellen, maar voor nu is hier een snel voorbeeld:
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop; USE FruitShop; CREATE TABLE Fruit (FruitName VARCHAR(20), DateEntered DATETIME);
Dit is een eenvoudig voorbeeld dat een database en een tabel in die database maakt. Je zou een lang script kunnen schrijven dat een database en veel tabellen creëert, evenals andere database-objecten.
U kunt ook een ander script schrijven dat de tabellen vult met de vereiste initiële gegevens. Je zou zelfs beide scripts in één kunnen combineren als je wilt.
Naamconventies
Het is een goed idee om een consistente naamgevingsconventie aan te houden. Je zou de database FruitShop
kunnen aanroepen (titel case), FRUITSHOP
(hoofdletter), fruitshop
(kleine letters), fruit_shop
(met een onderstrepingsteken), enz.
Sommige mensen houden er ook van om hun databaseobjecten vooraf te laten gaan. Bijvoorbeeld tabellen vooraf laten gaan met tbl
of tbl_
en opgeslagen procedures met sp
of sp_
. Een tabel zou dus tblCustomers
kunnen heten of tbl_customers
enz.
Je moet ook nadenken over meervouden. Noem je een tafel die alle klantrecords bevat customer
of customers
. Als u kiest voor customers
, dan moet je ook een tabel noemen die alle producten bevat products
en niet product
.
Wat u ook kiest, u moet proberen dezelfde conventie in uw hele database te handhaven.
Het opstellen van een naamgevingsconventie zal enorm helpen wanneer u query's op uw database begint te schrijven. U hoeft niet meer te onthouden of u een bepaalde tabel een naam hebt gegeven met een onderstrepingsteken, hoofdlettergebruik, enzovoort.