<< Tilbage

Oprettelse af tabeller

Før vi kan begynde at indsætte og trække data ud fra en database, så skal vi først have oprettet nogle tabeller hvor dataen kan gemmes. Der findes forskellige database administrationsværktøjer (f.eks. PhpMyAdmin) som man bl.a. kan bruge til at oprette tabeller. Har du adgang til sådan et, så er der ingen grund til at gøre det manuelt som beskrevet her i tutorialen.

I php har man funktionen mysql_query() til at kaste kommandoer efter mysql-serveren. Her er et komplet eksempel der opretter en tabel i databasen (forklaringer følger):

Kode:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?php

mysql_query
("CREATE TABLE personer(
    id INT AUTO_INCREMENT,
    navn VARCHAR(50),
    alder INT(3),
    email VARCHAR(50),
    PRIMARY KEY(id)
)"
) OR DIE(mysql_error());

?>

Inde i mysql_query() står selve MySQL-kommandoen, der beskriver at en tabel skal oprettes. Læg mærke til at de såkaldte reserverede ord i MySQL er skrevet med store bogstaver, mens de andre er skrevet med små bogstaver (feltnavne osv.).

CREATE TABLE personer fortæller at den skal oprette en tabel i databasen med navnet "personer". Inde i parentesen er selve tabeldefinationen (hvordan skal den se ud, hvilke felter skal den have?).

id INT AUTO_INCREMENT fortæller flere ting på én gang. Der tilføjes et felt i tabellen med navnet "id". Først skrives navnet på feltet, efterfulgt af hvilken felttype feltet skal have. INT er en forkortelse af integer (heltal), så det er altså tal vi ønsker at bruge i id-felterne. AUTO_INCREMENT kan bruges til automatisk at få id-feltet til at lægge 1 til, hver gang vi indsætter en ny række i tabellen. Den første række får automatisk værdien 1 i id-feltet, den næste 2 osv.

navn VARCHAR(50) Her opretter vi endnu et felt i tabellen, her med navnet "navn". Felttypen er sat til "varchar" og i den efterfølgende parentes er der angivet hvor mange tegn feltet maksimalt kan indeholde. Da vi oprettede id-feltet angav vi ikke sådan en værdi, så den vil i stedet benytte det som er standard for en INT.

I de næste to linjer opretter vi endnu to felter med navnene "alder" og "email".

Til sidst fortælller vi med PRIMARY KEY(id) at feltet id skal være den primære nøgle. Dvs. hver række bruger feltet id som unik identifikator, hvor ikke to rækker i tabellen kan have den samme værdi i id-feltet. Husk altid at definere hvilket felt der skal bruges som primær nøgle. Findes der ikke et enkelt felt der med sikkerhed kan adskille rækkerne i tabellen, så kan man konstruere en primær nøgle ud fra flere felter, f.eks.: PRIMARY KEY(navn, email)

OR DIE(mysql_error()) sørger for at vi kan se på skærmen hvad der er galt, hvis det ikke lykkedes for MySQL at oprette tabellen.

Er du i tvivl om hvilke felttyper du skal bruge til hvilke formål, så er der her en lille oversigt over de meste brugte:

Felttype Formål
INT Bruges til heltal (f.eks. 5 og 999)
DATETIME Bruges til at gemme tidspunkter med både dato og klokkeslæt i formatet YYYY-MM-DD HH:MM:SS
DATE Gemmer kun en dato, i formatet YYYY-MM-DD
VARCHAR En almindelig streng med en max. længde på 255 tegn.
TEXT Til større tekststykker.
LONGTEXT MEGET store tekststykker. Maks. længde er 4294967295 tegn.
DOUBLE Et tal med decimaler

Leder du efter billige usb stik?, så kan du få et Billigt USB stik hos usb.dk

Spørgsmål/forslag/kommentarer rettes til webmaster@phpartikler.dk

Billige USB stik