T-SQL - Créer des tables

La création d'une table de base implique de nommer la table et de définir ses colonnes et le type de données de chaque colonne.

Le serveur SQL CREATE TABLE instruction est utilisée pour créer une nouvelle table.

Syntaxe

Voici la syntaxe de base de l'instruction CREATE TABLE -

CREATE TABLE table_name( 
   column1 datatype, 
   column2 datatype, 
   column3 datatype, 
   ..... 
   columnN datatype, 
   PRIMARY KEY( one or more columns ));

CREATE TABLE est le mot-clé indiquant au système de base de données ce que vous voulez faire. Dans ce cas, vous souhaitez créer une nouvelle table. Le nom ou l'identificateur unique de la table suit l'instruction CREATE TABLE. Ensuite, entre parenthèses vient la liste définissant chaque colonne du tableau et de quel type de données il s'agit. La syntaxe devient plus claire à comprendre avec l'exemple suivant.

Une copie d'une table existante peut être créée à l'aide d'une combinaison de l'instruction CREATE TABLE et de l'instruction SELECT. Vous pouvez vérifier les détails complets dans Créer une table à l'aide d'une autre table.

Exemple

Dans cet exemple, créons une table CUSTOMERS avec ID comme clé primaire et NOT NULL sont les contraintes montrant que ces champs ne peuvent pas être NULL lors de la création d'enregistrements dans cette table -

CREATE TABLE CUSTOMERS( 
   ID   INT              NOT NULL, 
   NAME VARCHAR (20)     NOT NULL, 
   AGE  INT              NOT NULL, 
   ADDRESS  CHAR (25) , 
   SALARY   DECIMAL (18, 2),        
   PRIMARY KEY (ID));

Vous pouvez vérifier si votre table a été créée avec succès en regardant le message affiché par le serveur SQL, sinon vous pouvez utiliser la commande suivante -

exec sp_columns CUSTOMERS

La commande ci-dessus produit la sortie suivante.

TABLE_QUALIFIER   TABLE_OWNER   TABLE_NAME   COLUMN_NAME   DATA_TYPE   TYPE_NAME
   PRECISION   LENGTH SCALE   RADIX   NULLABLE   REMARKS   COLUMN_DEF   SQL_DATA_TYPE 
   SQL_DATETIME_SUB   CHAR_OCTET_LENGTH   ORDINAL_POSITION   IS_NULLABLE   SS_DATA_TYPE
   
TestDB    dbo    CUSTOMERS   ID        4    int      10   4    0      10     0
   NULL   NULL   4   NULL    NULL      1    NO       56 
   
TestDB    dbo    CUSTOMERS   NAME      12   varchar  20   20   NULL   NULL   0
   NULL   NULL   12   NULL   20        2    NO       39
  
TestDB    dbo    CUSTOMERS   AGE       4    int      10   4    0      10     0
   NULL   NULL   4   NULL    NULL      3    NO       56 
 
TestDB    dbo    CUSTOMERS   ADDRESS   1    char     25   25   NULL   NULL   1
   NULL   NULL   1   NULL    25   4    YES  39  

TestDB    dbo    CUSTOMERS   SALARY    3    decimal  18   20   2      10     1
   NULL   NULL   3   NULL    NULL      5    YES      106

Vous pouvez maintenant voir que la table CUSTOMERS est disponible dans votre base de données que vous pouvez utiliser pour stocker les informations requises relatives aux clients.