SQLite - Befehl ALTER TABLE

SQLite ALTER TABLEDer Befehl ändert eine vorhandene Tabelle, ohne einen vollständigen Speicherauszug durchzuführen und die Daten neu zu laden. Sie können eine Tabelle mit der Anweisung ALTER TABLE umbenennen und mit der Anweisung ALTER TABLE zusätzliche Spalten in eine vorhandene Tabelle einfügen.

Es gibt keine andere Operation, die vom Befehl ALTER TABLE in SQLite unterstützt wird, außer das Umbenennen einer Tabelle und das Hinzufügen einer Spalte zu einer vorhandenen Tabelle.

Syntax

Es folgt die grundlegende Syntax von ALTER TABLE eine vorhandene Tabelle umbenennen.

ALTER TABLE database_name.table_name RENAME TO new_table_name;

Es folgt die grundlegende Syntax von ALTER TABLE um eine neue Spalte in eine vorhandene Tabelle einzufügen.

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

Beispiel

Betrachten Sie die COMPANY- Tabelle mit den folgenden Datensätzen:

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

Versuchen wir nun, diese Tabelle mit der Anweisung ALTER TABLE wie folgt umzubenennen:

sqlite> ALTER TABLE COMPANY RENAME TO OLD_COMPANY;

Die obige SQLite-Anweisung benennt die COMPANY-Tabelle in OLD_COMPANY um. Versuchen wir nun, eine neue Spalte in der Tabelle OLD_COMPANY wie folgt hinzuzufügen:

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

Die COMPANY-Tabelle wurde nun geändert und es folgt die Ausgabe der SELECT-Anweisung.

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

Es ist zu beachten, dass die neu hinzugefügte Spalte mit NULL-Werten gefüllt ist.