Sök…
Introduktion
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.
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(...);