Sök…


Introduktion

Satsen CREATE TABLE används för att skapa en ny tabell i databasen. En tabelldefinition består av en lista med kolumner, deras typer och eventuella integritetsbegränsningar.

Syntax

  • SKAPA TABELL tabellnamn ([Kolumnnamn1] [datatype1] [, [Kolumnnamn2] [datatype2] ...])

parametrar

Parameter detaljer
tabellnamn Tabellens namn
kolonner Innehåller en "uppräkning" av alla kolumner som tabellen har. Se Skapa en ny tabell för mer information.

Anmärkningar

Tabellnamn måste vara unika.

Skapa en ny tabell

En grundläggande Employees innehåller ett ID och den anställdes för- och efternamn tillsammans med deras telefonnummer kan skapas med

CREATE TABLE Employees(
    Id int identity(1,1) primary key not null,
    FName varchar(20) not null,
    LName varchar(20) not null,
    PhoneNumber varchar(10) not null
);

Detta exempel är specifikt för Transact-SQL

CREATE TABLE skapar en ny tabell i databasen, följt av tabellnamnet Employees

Detta följs sedan av listan med kolumnnamn och deras egenskaper, till exempel ID

Id int identity(1,1) not null
Värde Menande
Id kolumnens namn.
int är datatypen.
identity(1,1) anger att kolumnen kommer att ha automatiskt genererade värden som börjar med 1 och ökar med 1 för varje ny rad.
primary key anger att alla värden i denna kolumn kommer att ha unika värden
not null anger att den här kolumnen inte kan ha nollvärden

Skapa tabell från Välj

Du kanske vill skapa ett duplikat av en tabell:

CREATE TABLE ClonedEmployees AS SELECT * FROM Employees;

Du kan använda någon av de andra funktionerna i ett SELECT-uttalande för att ändra uppgifterna innan du överför dem till den nya tabellen. Kolumnerna i den nya tabellen skapas automatiskt enligt de valda raderna.

CREATE TABLE ModifiedEmployees AS
SELECT Id, CONCAT(FName," ",LName) AS FullName FROM Employees
WHERE Id > 10;

Duplicera en tabell

För att kopiera en tabell gör du bara följande:

CREATE TABLE newtable LIKE oldtable; 
INSERT newtable SELECT * FROM oldtable;

Skapa tabell med utländsk nyckel

Nedan hittar du tabellen Employees med hänvisning till tabellen Cities .

CREATE TABLE Cities(
    CityID INT IDENTITY(1,1) NOT NULL,
    Name VARCHAR(20) NOT NULL,
    Zip VARCHAR(10) NOT NULL
);

CREATE TABLE Employees(
    EmployeeID INT IDENTITY (1,1) NOT NULL,
    FirstName VARCHAR(20) NOT NULL,
    LastName VARCHAR(20) NOT NULL,
    PhoneNumber VARCHAR(10) NOT NULL,
    CityID INT FOREIGN KEY REFERENCES Cities(CityID)
);

Här kan du hitta ett databasdiagram.

Databasdiagram

Kolonnen CityID av bords Employees kommer referera till kolonnen CityID av bords Cities . Nedan kan du hitta syntaxen för att göra detta.

CityID INT FOREIGN KEY REFERENCES Cities(CityID)
Värde Menande
CityID Kolumnens namn
int typ av kolumn
FOREIGN KEY Gör den utländska nyckeln (valfritt)
REFERENCES
Cities(CityID)
Gör referensen
till tabellen Cities kolumnen CityID

Viktigt: Du kunde inte hänvisa till en tabell som inte finns i databasen. Var källa för att först göra tabellen Cities och sedan tabellen Employees . Om du gör det vice versa kommer det att kasta ett fel.

Skapa en tabell tillfälligt eller i minnet

PostgreSQL och SQLite

Så här skapar du en tillfällig tabell lokal för sessionen:

CREATE TEMP TABLE MyTable(...);

SQL Server

Så här skapar du en tillfällig tabell lokal för sessionen:

CREATE TABLE #TempPhysical(...);

Så här skapar du en tillfällig tabell synlig för alla:

CREATE TABLE ##TempPhysicalVisibleToEveryone(...);

Så här skapar du en minnetabell:

DECLARE @TempMemory TABLE(...);


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow