sqlite

base de données relationnelle intégrée

alter

Anglais [ˈɔ:ltə(r)] US [ˈɔltɚ]

vt Changer; ancien

vi. modifier

Commande SQLite Modifier syntaxe

Fonction : La commande ALTER TABLE de SQLite ne modifie pas les tables existantes en effectuant un vidage complet et un rechargement des données. Vous pouvez utiliser l'instruction ALTER TABLE pour renommer une table et ajouter des colonnes supplémentaires à une table existante.

Dans SQLite, la commande ALTER TABLE ne prend pas en charge d'autres opérations sauf renommer les tables et ajouter des colonnes aux tables existantes.

Syntaxe : La syntaxe de base de ALTER TABLE utilisée pour renommer une table existante est la suivante :

ALTER TABLE nom_base_de_données.nom_table RENAME TO new_table_name;

Utilisé pour ajouter une nouvelle colonne à une table existante La syntaxe de base de ALTER TABLE est le suivant :

ALTER TABLE nom_base de données.nom_table ADD COLUMN column_def...;

Commande SQLite Modifier exemple

 COMPANY 表有如下记录:

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
现在,让我们尝试使用 ALTER TABLE 语句重命名该表,如下所示:

sqlite> ALTER TABLE COMPANY RENAME TO OLD_COMPANY;
上面的 SQLite 语句将重命名 COMPANY 表为 OLD_COMPANY。现在,让我们尝试在 OLD_COMPANY 表中添加一个新的列,如下所示:

sqlite> ALTER TABLE OLD_COMPANY ADD COLUMN SEX char(1);
现在,COMPANY 表已经改变,使用 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
请注意,新添加的列是以 NULL 值来填充的。