I MariaDB brukes kommandoen CREATE TABLE til å opprette nye tabeller. For å sikre at hver tabell er unik i databasen, kan alternativene OR REPLACE og IF NOT EXISTS brukes for å unngå duplisering og feilmeldinger.

Hva er CREATE TABLE for MariaDB?

CREATE TABLE i MariaDB brukes til å opprette en ny tabell som senere kan fylles med data. Som et relasjonelt databasestyringssystem (DBMS) bruker MariaDB disse tabellene som grunnlag for alle lagringsoperasjoner. Under opprettelsen av tabellen defineres individuelle kolonner, og datatypene for hver kolonne spesifiseres. Tabeller er unike i en nyopprettet database – MariaDB CREATE DATABASE – så hvis det allerede finnes en tabell med samme navn, vil det genereres en feilmelding. I de neste avsnittene vil vi beskrive hvordan du bruker kommandoen CREATE TABLE i MariaDB og utforske de tilgjengelige alternativene du kan bruke.

Syntaks og driftsmodus

Den generelle syntaksen for CREATE TABLE i MariaDB følger alltid dette prinsippet:

CREATE TABLE Name_of_table(
	Name_of_first_column Data_type_of_first_column,
	Name_of_second_column Data_type_of_second_column
	…
);
sql

For å gjøre dette må du først opprette en ny tabell og gi den et eget navn i stedet for plassholderen «Name_of_table». Alle ASCII-koder er tillatt. Deretter må de enkelte kolonnene spesifiseres. Hver av disse kolonnene får sitt eget navn og datatype som kan lagres i denne kolonnen. Alle kolonnene er atskilt fra hverandre med komma.

OR REPLACE og IF NOT EXISTS

Siden tabeller må være unike, vil du få en feilmelding hvis det allerede finnes en tabell med samme navn. For å unngå dette problemet har du to alternativer: Alternativ OR REPLACE sjekker om det allerede finnes en tabell med samme navn i databasen. Hvis dette er tilfelle, erstattes den gamle tabellen med den nye. Ellers opprettes den nye tabellen ganske enkelt. Syntaksen til denne setningen ser slik ut:

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,
	…
);
sql

Vær imidlertid oppmerksom på at den gamle tabellen vil bli overskrevet, og innholdet vil gå tapt. Alternativet fungerer som en kortform av denne koden:

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
	…
);
sql

En annen måte å unngå duplikater eller påfølgende feilmeldinger på er alternativ IF NOT EXISTS. Dette sjekker om det allerede finnes en tabell med samme navn i databasen. Hvis dette er tilfelle, vil du bare motta en melding, og ingen tabeller vil bli overskrevet. Hvis det ikke finnes noen tabell med dette navnet, opprettes en ny tabell. Den tilsvarende syntaksen ser slik ut:

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
	…
);
sql

Eksempel på CREATE TABLE i MariaDB

Funksjonen CREATE TABLE i MariaDB kan best demonstreres med et enkelt eksempel. Vi skal opprette en tabell for en fiktiv prosjektliste som inneholder åtte 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)
);
sql

I det første trinnet oppretter vi en ny tabell og gir den navnet «Prosjekter». I de følgende radene spesifiserer vi de enkelte kolonnene:

  • prosjektnummer: I denne kolonnen tildeles prosjektet et individuelt nummer. Det behandles som en primærnøkkel og brukes derfor til å tildele hver enkelt linje en entydig identifikasjon. Med AUTO_INCREMENT instruerer vi programmet om å automatisk fortsette oppføringene i «prosjektnummer» for å sikre en ensartet sekvens.
  • etternavn: Her registreres kundens etternavn. Oppføringen kan være opptil 50 tegn lang. NOT NULL-begrensningen sikrer at denne kolonnen ikke kan stå tom.
  • first_name: Kolonnen «first_name» fungerer på samme måte som forrige kolonne. Siden fornavnet ikke er nødvendig for fakturering, kan denne kolonnen imidlertid stå tom.
  • start: Denne delen registrerer starten på et kontinuerlig prosjekt. De akseptable verdiene er en dato i det angitte datoformatet eller en nullverdi.
  • end: «end» beskriver fristen eller den faktiske fullføringen av et prosjekt. Disse verdiene kan også være i formatet DATE eller NULL.
  • costs: Fakturabeløpet er oppført i denne kolonnen. Det lagres i formatet DOUBLE.
  • oppgaver: Under «oppgaver» er det plass til en kort beskrivelse av tjenestene som ble utført for prosjektet. Kolonnen har plass til opptil 255 tegn og må ikke stå tom.
  • opprettet_ved: Datoen for opprettelsen av det respektive prosjektet lagres i den siste kolonnen. Dette er basert på systemets gjeldende klokkeslett og dato.
Go to Main Menu