Hur man använder MariaDB CREATE TABLE
I MariaDB används kommandot CREATE TABLE för att skapa nya tabeller. För att säkerställa att varje tabell är unik inom databasen kan alternativen OR REPLACE och IF NOT EXISTS användas för att undvika dubbletter och felmeddelanden.
Vad är CREATE TABLE för MariaDB?
Kommandot CREATE TABLE i MariaDB används för att skapa en ny tabell som senare kan fyllas med data. Som ett relationsdatabashanteringssystem (DBMS) använder MariaDB dessa tabeller som grund för alla lagringsoperationer. Under tabellskapandet definieras enskilda kolumner och datatyperna för varje kolumn specificeras. Tabeller är unika inom en nyupprättad databas – MariaDB CREATE DATABASE – så om en tabell med samma namn redan finns kommer ett felmeddelande att genereras. I de kommande avsnitten kommer vi att beskriva hur man använder kommandot CREATE TABLE i MariaDB och utforska de tillgängliga alternativ som du kan använda.
Syntax och driftsläge
Den allmänna syntaxen för CREATE TABLE i MariaDB följer alltid denna princip:
CREATE TABLE Name_of_table(
Name_of_first_column Data_type_of_first_column,
Name_of_second_column Data_type_of_second_column
…
);sqlFör att göra detta måste du först skapa en ny tabell och ge den ett eget namn istället för platshållaren “Namn_på_tabell”. Alla ASCII-tecken är tillåtna. Därefter måste de enskilda kolumnerna specificeras. Varje kolumn får ett eget namn och en datatyp som kan lagras i kolumnen. Alla kolumner separeras från varandra med kommatecken.
OR REPLACE och IF NOT EXISTS
Eftersom tabeller måste vara unika får du ett felmeddelande om en tabell med samma namn redan finns. För att undvika detta problem har du två alternativ: Alternativ OR REPLACE kontrollerar om en tabell med samma namn redan finns i databasen. Om så är fallet ersätts den gamla tabellen med den nya. Annars skapas helt enkelt den nya tabellen. Syntaxen för detta uttalande ser ut så här:
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,
…
);sqlObservera dock att den gamla tabellen kommer att skrivas över och dess innehåll kommer att gå förlorat. Alternativet fungerar som en förkortad form av denna kod:
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
…
);sqlEtt annat sätt att undvika dubbletter eller efterföljande felmeddelanden är alternativ IF NOT EXISTS. Detta kontrollerar om en tabell med samma namn redan finns i databasen. Om så är fallet får du endast ett meddelande och ingen tabell skrivs över. Om det inte finns någon tabell med detta namn skapas en ny tabell. Motsvarande syntax ser ut så här:
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
…
);sqlExempel på CREATE TABLE i MariaDB
Funktionen CREATE TABLE i MariaDB kan bäst demonstreras med ett enkelt exempel. Vi skapar en tabell för en fiktiv projektlista som innehåller åtta kolumner. Strukturen är följande:
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örsta steget skapar vi en ny tabell och namnger den “Projekt”. I följande rader specificerar vi de enskilda kolumnerna:
- project_number: I denna kolumn tilldelas projektet ett individuellt nummer. Det behandlas som en primärnyckel och används därför för att tydligt tilldela varje enskild rad. Med
AUTO_INCREMENTinstruerar vi programmet att automatiskt fortsätta inmatningarna i “projektnummer” för att säkerställa en enhetlig sekvens. - efternamn: Här registreras kundens efternamn. Posten kan vara upp till 50 tecken lång. Begränsningen NOT NULL säkerställer att denna kolumn inte kan lämnas tom.
- förnamn: Kolumnen ”förnamn” fungerar på samma sätt som föregående kolumn. Eftersom förnamnet inte krävs för fakturering kan denna kolumn dock lämnas tom.
- start: I detta avsnitt registreras starten på ett pågående projekt. Godkända värden är ett datum i angivet datumformat eller ett null-värde.
- end: ”end” beskriver deadline eller det faktiska slutförandet av ett projekt. Dessa värden kan också ha formatet
DATEellerNULL. - kostnader: Fakturabeloppet anges i denna kolumn. Det lagras i formatet
DOUBLE. - tasks: Under ”tasks” finns utrymme för en kort beskrivning av de tjänster som utförts för projektet. Kolumnen har utrymme för upp till 255 tecken och får inte lämnas tom.
- created_at: Datumet för respektive projekts skapande lagras i den sista kolumnen. Detta baseras på systemets aktuella tid och datum.