Sådan bruges MariaDB CREATE TABLE
I MariaDB bruges kommandoen CREATE TABLE til at oprette nye tabeller. For at sikre, at hver tabel er unik i databasen, kan optionerne OR REPLACE og IF NOT EXISTS bruges til at undgå duplikering og fejlmeddelelser.
Hvad er CREATE TABLE for MariaDB?
CREATE TABLE i MariaDB bruges til at oprette en ny tabel, der senere kan udfyldes med data. Som et relationelt databasestyringssystem (DBMS) bruger MariaDB disse tabeller som grundlag for alle lagringsoperationer. Under oprettelsen af tabellen defineres de enkelte kolonner, og datatyperne for hver kolonne specificeres. Tabeller er unikke inden for en nyoprettet database – MariaDB CREATE DATABASE – så hvis der allerede findes en tabel med samme navn, genereres der en fejlmeddelelse. I de kommende afsnit beskriver vi, hvordan du bruger kommandoen CREATE TABLE i MariaDB, og gennemgår de tilgængelige muligheder, du kan bruge.
Syntaks og driftsform
Den generelle syntaks for CREATE TABLE i MariaDB følger altid dette princip:
CREATE TABLE Name_of_table(
Name_of_first_column Data_type_of_first_column,
Name_of_second_column Data_type_of_second_column
…
);sqlFor at gøre dette skal du først oprette en ny tabel og give den sit eget navn i stedet for pladsholderen ‘Navn_på_tabel’. Alle ASCII-kodetegn er tilladt. Derefter skal de enkelte kolonner specificeres. Hver af disse kolonner får sit eget navn og datatype, der kan gemmes i denne kolonne. Alle kolonner adskilles fra hinanden med kommaer.
OR REPLACE og IF NOT EXISTS
Da tabeller skal være unikke, vil du modtage en fejlmeddelelse, hvis der allerede findes en tabel med samme navn. For at undgå dette problem har du to muligheder: Mulighed OR REPLACE kontrollerer, om der allerede findes en tabel med samme navn i databasen. Hvis dette er tilfældet, erstattes den gamle tabel med den nye. Ellers oprettes den nye tabel blot. Syntaksen for denne sætning ser således ud:
CREATE OR REPLACE TABLE Name_of_table(
Name_of_first_column Data_type_of_first_column,
Name_of_second_column Data_type_of_second_column,
…
);sqlBemærk dog, at den gamle tabel overskrives, og dens indhold går tabt. Indstillingen fungerer som en kort form af denne kode:
DROP TABLE IF EXISTS Name_of_table;
CREATE TABLE Name_of_table (
Name_of_first_column Data_type_of_first_column,
Name_of_second_column Data_type_of_second_column
…
);sqlEn anden måde at undgå duplikater eller de efterfølgende fejlmeddelelser på er mulighed IF NOT EXISTS. Denne kontrollerer, om der allerede findes en tabel med samme navn i databasen. Hvis dette er tilfældet, modtager du kun en meddelelse, og ingen tabel overskrives. Hvis der ikke findes en tabel med dette navn, oprettes en ny tabel. Den tilhørende syntaks ser således ud:
CREATE TABLE IF NOT EXISTS Name_of_table (
Name_of_first_column Data_type_of_first_column,
Name_of_second_column Data_type_of_second_column
…
);sqlEksempel på CREATE TABLE i MariaDB
Funktionen CREATE TABLE i MariaDB kan bedst demonstreres med et simpelt eksempel. Vi opretter en tabel til en fiktiv projektliste, der indeholder otte kolonner. Strukturen er som følger:
CREATE TABLE Projects(
Project_number INT AUTO_INCREMENT,
surname VARCHAR(50) NOT NULL,
first_name VARCHAR(50),
start DATE,
end DATE,
costs DOUBLE,
tasks VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (Project_number)
);sqlI det første trin opretter vi en ny tabel og navngiver den ‘Projekter’. I de følgende rækker angiver vi de enkelte kolonner:
- project_number: I denne kolonne tildeles projektet et individuelt nummer. Det behandles som en primær nøgle og bruges derfor til klart at tildele hver enkelt linje. Med
AUTO_INCREMENTinstruerer vi programmet om automatisk at fortsætte indtastningerne i ‘projektnummer’ for at sikre en ensartet rækkefølge. - efternavn: Her registreres kundens efternavn. Indtastningen kan være op til 50 tegn lang. NOT NULL-begrænsningen sikrer, at denne kolonne ikke kan efterlades tom.
- first_name: Kolonnen ‘first_name’ fungerer på samme måde som den foregående kolonne. Da fornavnet imidlertid ikke er påkrævet til fakturering, kan denne kolonne efterlades tom.
- start: Dette afsnit registrerer starten på et løbende projekt. De acceptable værdier er en dato i det angivne datoformat eller en null-værdi.
- end: ‘end’ beskriver deadline eller den faktiske afslutning af et projekt. Disse værdier kan også være i formatet
DATEellerNULL. - costs: Fakturabeløbet angives i denne kolonne. Det gemmes i formatet
DOUBLE. - opgaver: Under ‘opgaver’ er der plads til en kort beskrivelse af de tjenester, der blev udført for projektet. Kolonnen har plads til op til 255 tegn og må ikke efterlades tom.
- oprettet_ved: Datoen for det pågældende projekts oprettelse gemmes i den sidste kolonne. Dette er baseret på systemets aktuelle tid og dato.