Zoeken…


Invoering

De instructie CREATE TABLE wordt gebruikt om een nieuwe tabel in de database te maken. Een tabeldefinitie bestaat uit een lijst met kolommen, hun typen en eventuele integriteitsbeperkingen.

Syntaxis

  • CREATE TABLE tabelnaam ([kolomnaam1] [datatype1] [, [kolomnaam2] [datatype2] ...])

parameters

Parameter Details
tafel naam De naam van de tabel
kolommen Bevat een 'opsomming' van alle kolommen in de tabel. Zie Een nieuwe tabel maken voor meer informatie.

Opmerkingen

Tabelnamen moeten uniek zijn.

Maak een nieuwe tabel

Een eenvoudige tabel met Employees , met een ID, en de voor- en achternaam van de werknemer samen met hun telefoonnummer kunnen worden gemaakt met behulp van

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

Dit voorbeeld is specifiek voor Transact-SQL

CREATE TABLE maakt een nieuwe tabel in de database, gevolgd door de tabelnaam, Employees

Dit wordt gevolgd door de lijst met kolomnamen en hun eigenschappen, zoals de ID

Id int identity(1,1) not null
Waarde Betekenis
Id de naam van de kolom.
int is het gegevenstype.
identity(1,1) geeft aan dat de kolom automatisch gegenereerde waarden heeft die beginnen bij 1 en oplopen met 1 voor elke nieuwe rij.
primary key stelt dat alle waarden in deze kolom unieke waarden hebben
not null stelt dat deze kolom geen nulwaarden mag hebben

Tabel maken van selecteren

Misschien wilt u een duplicaat van een tabel maken:

CREATE TABLE ClonedEmployees AS SELECT * FROM Employees;

U kunt een van de andere functies van een SELECT-instructie gebruiken om de gegevens te wijzigen voordat u deze aan de nieuwe tabel doorgeeft. De kolommen van de nieuwe tabel worden automatisch gemaakt op basis van de geselecteerde rijen.

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

Een tabel dupliceren

Ga als volgt te werk om een tabel te dupliceren:

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

CREËER LIJST MET BUITENLANDSE SLEUTEL

Hieronder vindt u de tabel Employees met een verwijzing naar de tabel 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)
);

Hier kunt u een database-diagram vinden.

Databasediagram

De kolom CityID van tabel Employees zullen verwijzen naar de kolom CityID van tabel Cities . Hieronder kun je de syntaxis vinden om dit te maken.

CityID INT FOREIGN KEY REFERENCES Cities(CityID)
Waarde Betekenis
CityID Naam van de kolom
int type van de kolom
FOREIGN KEY Maakt de externe sleutel (optioneel)
REFERENCES
Cities(CityID)
Maakt de referentie
naar de tabel Cities kolom CityID

Belangrijk: u kunt niet verwijzen naar een tabel die niet in de database bestaat. Wees de bron om eerst de tafel Cities en vervolgens de tafel Employees . Als je het omgekeerd doet, zal het een foutmelding geven.

Maak een tijdelijke of geheugentabel

PostgreSQL en SQLite

Om een tijdelijke tabel lokaal voor de sessie te maken:

CREATE TEMP TABLE MyTable(...);

SQL Server

Om een tijdelijke tabel lokaal voor de sessie te maken:

CREATE TABLE #TempPhysical(...);

Een tijdelijke tabel maken die voor iedereen zichtbaar is:

CREATE TABLE ##TempPhysicalVisibleToEveryone(...);

Een geheugentabel maken:

DECLARE @TempMemory TABLE(...);


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow