Post­greSQL:s kommando CREATE TABLE används för att skapa nya tabeller i en databas. När du använder detta kommando kan du också definiera olika spe­ci­fi­ka­tio­ner för tabellen och enskilda kolumner.

Vad är Post­greSQL CREATE TABLE?

Kommandot CREATE TABLE i Post­greSQL används för att skapa en ny tabell i en befintlig databas. När du skapar en ny tabell måste du ange ett unikt namn för den samt tilldela varje kolumn ett namn och en datatyp. När du skapar tabeller i det populära da­ta­bashan­te­rings­sy­ste­met kan du också definiera be­gräns­ning­ar för antingen alla kolumner i tabellen eller för enskilda kolumner.

Tips

Om du vill ändra dina ta­bel­lin­ställ­ning­ar senare kan du använda kommandot ALTER TABLE för att justera ko­lum­ner­na efter behov.

Vad är syntaxen för CREATE TABLE?

Den grund­läg­gan­de syntaxen för Post­greSQL CREATE TABLE är följande:

CREATE TABLE table_name(
column1 data_type PRIMARY KEY,
column2 data_type,
column3 data_type,
…
);
post­gresql

Kommandot CREATE TABLE in­stru­e­rar Post­greSQL att skapa en ny tabell. Kommandot följs av namnet på tabellen, som måste vara unikt. Direkt efter ta­bell­nam­net placeras en upp­sätt­ning pa­ren­te­ser, inom vilka du måste definiera olika ko­lumn­namn och deras mot­sva­ran­de datatyper.

Om du vill lägga till be­gräns­ning­ar ändras syntaxen:

CREATE TABLE table_name(
column1 data_type PRIMARY KEY constraint,
column2 data_type constraint,
column3 data_type constraint,
…
);
post­gresql

Förutom PRIMARY KEY stöder Post­greSQL även följande be­gräns­ning­ar:

  • NOT NULL: Sä­ker­stäl­ler att en kolumn inte kan innehålla NULL värden
  • UNIQUE: Sä­ker­stäl­ler att alla värden i en kolumn eller en kom­bi­na­tion av kolumner är unika
  • CHECK: De­fi­ni­e­rar villkor som måste uppfyllas vid infogning eller upp­da­te­ring av data
  • FOREIGN KEY: Skapar en relation med en kolumn i en annan tabell
  • DEFAULT: Anger ett stan­dard­vär­de för en kolumn om inget ut­tryck­ligt värde anges

Post­greSQL CREATE TABLE exempel

För att il­lu­stre­ra hur CREATE TABLE fungerar i Post­greSQL ska vi skapa en tabell som heter customer_list. Denna tabell kommer att ha fyra kolumner: id, name, country och address. Kolumn id är inställd som PRIMARY KEY. Be­gräns­ning­en NOT NULL används för att sä­ker­stäl­la att ko­lum­ner­na id och name in­ne­hål­ler värden. Så här ser koden ut:

CREATE TABLE customer_list(
id INT PRIMARY KEY NOT NULL,
name VARCHAR(50) NOT NULL,
country VARCHAR(50),
address VARCHAR(255)
);
post­gresql

Detta kommando skapar en tom tabell med det ta­bell­namn och de kolumner som har angetts i koden. Nu kan du fylla i tabellen med data. När tabellen har fyllts med data kan den se ut så här:

id namn land adress
1 Emily Exempel Stor­bri­tan­ni­en 123 High St, Anytown, W1 4GH
2
3

Hur man kon­trol­le­rar tabeller med \d

Kommandot \d listar alla tabeller i en databas och kan användas för att kon­trol­le­ra om en tabell har skapats korrekt. Så här gör du:

testdb-# \d
post­gresql

Du kan också använda det här kommandot för att få en de­tal­je­rad be­skriv­ning av en tabell. Vi använder tabellen ovan för att visa hur koden för detta ser ut:

testdb-# \d customer_list
post­gresql
Gå till huvudmeny