Recherche…


Introduction

L'instruction CREATE TABLE est utilisée pour créer une nouvelle table dans la base de données. Une définition de table se compose d'une liste de colonnes, de leurs types et de toutes les contraintes d'intégrité.

Syntaxe

  • CREATE TABLE nomTable ([ColumnName1] [type de données1] [, [ColumnName2] [type de données2] ...])

Paramètres

Paramètre Détails
nom de la table le nom de la table
colonnes Contient une énumération de toutes les colonnes de la table. Voir Créer une nouvelle table pour plus de détails.

Remarques

Les noms de table doivent être uniques.

Créer une nouvelle table

Une table Employees base, contenant un identifiant, ainsi que le prénom et le nom de l’employé, ainsi que leur numéro de téléphone, peuvent être créés en utilisant

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

Cet exemple est spécifique à Transact-SQL

CREATE TABLE crée une nouvelle table dans la base de données, suivie du nom de la table, Employees

Ceci est suivi de la liste des noms de colonnes et de leurs propriétés, telles que l'ID

Id int identity(1,1) not null
Valeur Sens
Id le nom de la colonne.
int est le type de données.
identity(1,1) indique que la colonne générera automatiquement des valeurs commençant à 1 et incrémentant de 1 pour chaque nouvelle ligne.
primary key indique que toutes les valeurs de cette colonne auront des valeurs uniques
not null indique que cette colonne ne peut pas avoir de valeurs nulles

Créer une table à partir de la sélection

Vous souhaiterez peut-être créer un duplicata d'une table:

CREATE TABLE ClonedEmployees AS SELECT * FROM Employees;

Vous pouvez utiliser l'une des autres fonctionnalités d'une instruction SELECT pour modifier les données avant de les transmettre à la nouvelle table. Les colonnes de la nouvelle table sont automatiquement créées en fonction des lignes sélectionnées.

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

Dupliquer une table

Pour dupliquer un tableau, procédez simplement comme suit:

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

Créer une table avec clé étrangère

Vous trouverez ci-dessous la table Employees avec une référence à la table 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)
);

Vous pouvez trouver ici un diagramme de base de données.

Schéma de base de données

La colonne CityID de la table Employees fera référence à la colonne CityID de la table Cities . Vous trouverez ci-dessous la syntaxe pour faire ceci.

CityID INT FOREIGN KEY REFERENCES Cities(CityID)
Valeur Sens
CityID Nom de la colonne
int type de colonne
FOREIGN KEY Fait la clé étrangère (facultatif)
REFERENCES
Cities(CityID)
Fait la référence
à la table Cities colonne CityID

Important: Vous ne pouvez pas faire référence à une table qui n'existe pas dans la base de données. Soyez la source pour faire d'abord la table Cities et ensuite la table Employees . Si vous le faites vice-versa, cela provoquera une erreur.

Créer une table temporaire ou en mémoire

PostgreSQL et SQLite

Pour créer une table temporaire locale à la session:

CREATE TEMP TABLE MyTable(...);

serveur SQL

Pour créer une table temporaire locale à la session:

CREATE TABLE #TempPhysical(...);

Pour créer une table temporaire visible par tous:

CREATE TABLE ##TempPhysicalVisibleToEveryone(...);

Pour créer une table en mémoire:

DECLARE @TempMemory TABLE(...);


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow