aug 132012
 

Denne tutorial beskriver hvordan du håndterer databaser i MySQL. MySQL er et populært gratis databaseprogram – en databaseserver – hvor vi kan lagre information i tabeller. 

Som nævnt er MySQL en databaseserver, der håndterer tabeller fordelt i flere databaser. Der kan være mange samtidige databaser på den samme server. Hver database har sine egne tabeller, der igen har hvert sit indhold. Det første skridt i arbejdet med databaser er altså at få styr på selve databasen, der skal indeholde tabeller.

Hvorfor have flere databaser? Simpelthen fordi, hver enkelt database har sine egne tabeller med hver sine data. På den måde bliver der ingen sammenblanding mellem dine data og alle andres data. Du kan endda selv have flere databaser, der er næsten ens uden problemer. Tænk på et webhotel med flere hundrede brugere, der alle har en version af WordPress.

I denne tutorial kommer vi igennem følgende MySQL kommandoer:

  • CREATE DATABASE <databasenavn>
    Denne kommando opretter en ny database
  • USE <databasenavn>
    Denne kommando aktiverer en database
  • DROP DATABASE <databasenavn>
    Denne kommando sletter en database permanent

Vi prøver både at bruge dem i MySQL konsollen, hvor vi skriver kode direkte, samt i PHPMyAdmin, der er en webside til at håndtere MySQL.

Opret database

Når jeg skal oprette en database, så kan jeg vælge at bruge programmet mysql, hvor jeg kan skrive SQL-kode direkte til databaseserveren. Når jeg vil oprette en database med navnet: mindatabase, skriver jeg:

CREATE DATABASE mindatabase;

Og databasen er oprettet. Læg i øvrigt mærke til semikolon i slutningen af linjen. Det fortæller MySQL, at jeg er færdig med at skrive min kommando. Glemmer jeg semikolon tror MySQL at jeg fortsætter med at skrive kommandoen på næste linje – og bliver ved indtil jeg skriver semikolon.

Prøver jeg at skrive den samme kommando én gang til, så får jeg en fejl: databasen findes allerede!

Nu kan jeg enten slette databasen først, se nedenfor, eller jeg kan fortælle, at MySQL kun skal oprette databasen, hvis den ikke allerede findes, derfor:

CREATE DATABASE IF NOT EXISTS mindatabase;

Jeg har blot tilføjet udtrykket IF NOT EXISTS, der betyder, at databasen kun skal oprettes, hvis den ikke allerede eksisterer.

I PHPMyAdmin kan du oprette en ny database på startskærmen:

CREATE DATABASE in PHPMyAdmin

Det er sådan set nemt: du udfylder navnet og trykker op opret. Der er ingen grund til i øjeblikket at interessere sig for Kollation og MySQL forbindelsessammenkøring. Det kan vi diskutere i en senere tutorial.

Nu har oprettet vores database, det er tid til at aktivere den.

Aktiver database

Databasen ligger klar til brug. Det er ikke på den måde aktivering. Det handler om, at vi gerne vil fortæller MySQL, at alt hvad vi senere laver skal ske på netop denne database. Hvorfor det, kan du spørge?

Når vi har valgt mindatabase og har en tabel, der hedder mintabel kan vi skrive:

SELECT * FROM mintabel;

I stedet for:

SELECT * FROM mindatabase.mintabel;

Det er en måde at gøre det nemt for os selv. Mere er det ikke.

Måden vi gør det på er:

USE mindatabase;

Mere er der ikke i det.

I PHPMyAdmin vælger vi database ved at trykke på databasen i listen til venstre:

Nu kan vi oprette en database og vi kan vælge at gøre den aktiv. Den sidste ting, vi skal lære i denne tutorial er at rydde op, dvs. slette gamle databaser.

Slet database

Vi vil gerne slette databaser, når vi ikke længere bruger dem. Det er ganske enkel oprydning. Det kan også være, at vi gerne vil genbruge navnet uden at skulle trække rundt med gamle data. Så bruger vi også kommandoen til at slette databasen. Kommandoen ser sådan ud:

DROP DATABASE mindatabase;

I PHPMyAdmin ser det sådan ud:

Og databasen bliver slettet.


Vi er således nået til vejs ende med dette kapitel om databaser. Det vi kan er:

  • Oprette en database med CREATE DATABASE. Vi kan undgå at oprette den samme to gange med CREATE DATABASE IF NOT EXISTS
  • Aktivere en database med USE
  • Slette en database med DROP DATABASE

Du er nu klar til at gå videre med næste indlæg.

Share

Sorry, the comment form is closed at this time.