SQLite Commande ALTER

La commandeALTER TABLE de SQLitene modifie pas les tables existantes en effectuant un vidage et un rechargement complets des données. Vous pouvez utiliser l'instruction ALTER TABLE pour renommer une table, et vous pouvez également utiliser l'instruction ALTER TABLE pour ajouter des colonnes supplémentaires à une table existante.

Dans SQLite, à part renommer une table et ajouter des colonnes à une table existante, la commande ALTER TABLE ne prend pas en charge d'autres opérations.

Syntaxe

Utilisé pour renommer une table existanteALTER TABLELa syntaxe de base est la suivante :

ALTER TABLE database_name.table_name RENAME TO new_table_name;

Utilisé pour ajouter une nouvelle colonne à une table existanteALTER TABLELa syntaxe de base est la suivante :

ALTER TABLE database_name.table_name ADD COLUMN column_def...;

Exemples

Supposons que notre table COMPANY contienne les enregistrements suivants :

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Maintenant, essayons de renommer la table à l'aide de l'instruction ALTER TABLE, comme suit :

sqlite> ALTER TABLE COMPANY RENAME TO OLD_COMPANY;

L'instruction SQLite ci-dessus renommera la table COMPANY en OLD_COMPANY. Maintenant, essayons d'ajouter une nouvelle colonne à la table OLD_COMPANY, comme suit :

sqlite> ALTER TABLE OLD_COMPANY ADD COLUMN SEX char(1);

Maintenant, la table COMPANY a changé. En utilisant l'instruction SELECT, la sortie est la suivante :

ID          NAME        AGE         ADDRESS     SALARY      SEX
----------  ----------  ----------  ----------  ----------  ---
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Veuillez noter que la colonne nouvellement ajoutée est remplie de valeurs NULL.

Autres extensions