SQLite - Commande ALTER TABLE

SQLite ALTER TABLELa commande modifie une table existante sans effectuer un vidage complet et recharger les données. Vous pouvez renommer une table à l'aide de l'instruction ALTER TABLE et des colonnes supplémentaires peuvent être ajoutées dans une table existante à l'aide de l'instruction ALTER TABLE.

Il n'y a aucune autre opération prise en charge par la commande ALTER TABLE dans SQLite, sauf pour renommer une table et ajouter une colonne dans une table existante.

Syntaxe

Voici la syntaxe de base de ALTER TABLE pour RENOMMER une table existante.

ALTER TABLE database_name.table_name RENAME TO new_table_name;

Voici la syntaxe de base de ALTER TABLE pour ajouter une nouvelle colonne dans une table existante.

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

Exemple

Considérez la table COMPANY avec 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 cette table en utilisant l'instruction ALTER TABLE comme suit -

sqlite> ALTER TABLE COMPANY RENAME TO OLD_COMPANY;

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

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

La table COMPANY est maintenant modifiée et voici la sortie de l'instruction SELECT.

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

Il convient de noter que la colonne nouvellement ajoutée est remplie avec des valeurs NULL.