SQLite Créer une table

L'instructionCREATE TABLEde SQLite est utilisée pour créer une nouvelle table dans n'importe quelle base de données. La création d'une table de base implique de nommer la table, de définir les colonnes et le type de données de chaque colonne.

Syntaxe

La syntaxe de base de l'instruction CREATE TABLE est la suivante :

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

CREATE TABLE est le mot-clé qui indique au système de base de données de créer une nouvelle table. L'instruction CREATE TABLE est suivie du nom unique ou de l'identifiant de la table. Vous pouvez également choisir de spécifier avectable_namede database_name。

Exemple

L'exemple suivant crée une table COMPANY, avec ID comme clé primaire, et la contrainte NOT NULL indique que ces champs ne peuvent pas être NULL lors de la création d'enregistrements dans la table :

sqlite> CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

Créons une autre table que nous utiliserons dans les exercices des chapitres suivants :

sqlite> CREATE TABLE DEPARTMENT(
   ID INT PRIMARY KEY      NOT NULL,
   DEPT           CHAR(50) NOT NULL,
   EMP_ID         INT      NOT NULL
);

Vous pouvez utiliser la commande SQLite.tablespour vérifier si la table a été créée avec succès. Cette commande est utilisée pour lister toutes les tables de la base de données attachée.

sqlite>.tables
COMPANY     DEPARTMENT

Ici, vous pouvez voir les deux tables COMPANY et DEPARTMENT que nous venons de créer.

Vous pouvez utiliser la commande SQLite.schemapour obtenir les informations complètes sur la table, comme indiqué ci-dessous :

sqlite>.schema COMPANY
CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);
Autres extensions