Recherche…
Introduction
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.
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(...);