Att skapa en databas i MySQL är ungefär hur enkelt som helst. En rad är allt som behövs. Faktum är att det vanligtvis tar mig längre tid att komma på ett namn för databasen än att skapa den!
Även om du säkert kan skapa dina databaser via MySQL Workbench GUI, kommer du förmodligen att tycka att det går snabbare att skapa dem programmässigt med hjälp av CREATE DATABASE
uttalande.
CREATE DATABASE
Uttalande
Du kan skapa en ny databas med CREATE DATABASE
påstående. Denna sats är en del av SQL, som är ett specialspråk för att söka och programmera databaser.
Syntaxen är CREATE DATABASE db_name
där db_name
är namnet på databasen du vill skapa.
Till exempel för att skapa en databas som heter FruitShop
skriv följande på fliken Fråga och kör frågan:
CREATE DATABASE FruitShop;
Det är allt som krävs. SCHEMAS fliken i den vänstra menyn ska nu visa din databas:
Om du inte kan se din databas, klicka på den lilla uppdateringsikonen bredvid SCHEMAS rubrik.
Du kan också använda följande kommando för att visa en lista över databaser på servern:
SHOW DATABASES;
Men naturligtvis har du nu en tom databas. Du måste lägga till tabeller och infoga data innan du har en fullt fungerande databas. Vi kommer till det snart.
CREATE SCHEMA
Uttalande
Du kan också använda CREATE SCHEMA
påstående. Detta använder samma syntax, så ovanstående uttalande kan skrivas om till detta:
CREATE SCHEMA FruitShop;
Använda IF NOT EXISTS
Du kan använda IF NOT EXISTS
för att förhindra att ett fel uppstår om databasen redan finns. Här är ett exempel:
CREATE DATABASE IF NOT EXISTS FruitShop;
Använda DROP DATABASE IF EXISTS
Använd ovanstående IF NOT EXISTS
är bra så länge du inte har för avsikt att ersätta databasen (och alla dess data) med en ny. Men ibland kanske du vill ta bort den gamla databasen och börja om från början. Det är här DROP DATABASE
kommer väl till pass.
Du kan använda DROP DATABASE
att ta bort alla tabeller i databasen och ta bort databasen innan du kör CREATE DATABASE
påstående. Du kan kombinera det med IF EXISTS
för att ange att satsen endast ska köras om databasen existerar. Detta kommer att förhindra att ett fel uppstår om du försöker släppa en databas som faktiskt inte finns.
Så här kan det se ut:
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop;
Om semikolon
Ovanstående exempel använder semikolon (;
) för att markera slutet på varje påstående. MySQL-kommandon består vanligtvis av en SQL-sats följt av ett semikolon. Det finns några undantag men de flesta kommandon följer denna konvention. Om du upptäcker att ett kommando som du skriver inte körs, kontrollera att du har inkluderat semikolon efter varje sats.
Databasdesign
Innan du skapar din databas måste du tänka på dess design. Du måste tänka på vilka tabeller och andra objekt den kommer att innehålla, samt vilken data som kommer att lagras i databasen.
I verkligheten, när du skapar en databas, skapar du inte bara en tom databas och tänker sedan på vilka tabeller som kommer att läggas in i den senare. Du skulle normalt skriva ett skript som skapar databasen och alla dess tabeller och andra objekt på en gång.
Lyckligtvis är det ganska enkelt att göra detta. Det är helt enkelt en fråga om att kombinera SQL-satser, en efter en, för varje objekt du vill skapa.
Vi kommer att titta på att skapa tabeller härnäst, men för tillfället kommer här ett snabbt exempel:
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop; USE FruitShop; CREATE TABLE Fruit (FruitName VARCHAR(20), DateEntered DATETIME);
Detta är ett enkelt exempel som skapar en databas och en tabell i den databasen. Du kan skriva ett långt skript som skapar en databas och många tabeller samt andra databasobjekt.
Du kan också skriva ett annat skript som fyller tabellerna med de initiala data som krävs. Du kan till och med kombinera båda skripten till ett om du vill.
Namnkonventioner
Det är en bra idé att ha en konsekvent namnkonvention. Du kan kalla databasen FruitShop
(titelfall), FRUITSHOP
(versaler), fruitshop
(gemener), fruit_shop
(med en understreckseparator), etc.
Vissa människor gillar också att prefixa sina databasobjekt. Till exempel prefix tabeller med tbl_
eller tbl_
och lagrade procedurer med sp
eller sp_
. Så en tabell kan kallas tblCustomers
eller tbl_customers
etc.
Du bör också tänka på pluralformer. Ringer du en tabell som innehåller alla kundregister customer
eller customers
. Om du väljer customers
, då ska du också kalla en tabell som innehåller alla produkter products
och inte product
.
Oavsett vilket du väljer bör du försöka behålla samma konvention i hela din databas.
Att upprätta en namnkonvention kommer att hjälpa enormt när du börjar skriva frågor mot din databas. Du behöver inte komma ihåg om du namngav en viss tabell med ett understreck, skiftläge, osv.