SQLite ALTER-Befehl

SQLitesALTER TABLEDer Befehl ändert bestehende Tabellen nicht, indem er einen vollständigen Dump und ein Neuladen der Daten durchführt. Sie können die ALTER TABLE-Anweisung verwenden, um eine Tabelle umzubenennen, und Sie können die ALTER TABLE-Anweisung auch verwenden, um einer bestehenden Tabelle zusätzliche Spalten hinzuzufügen.

In SQLite unterstützt der ALTER TABLE-Befehl abgesehen vom Umbenennen einer Tabelle und dem Hinzufügen von Spalten zu einer bestehenden Tabelle keine anderen Operationen.

Syntax

Wird zum Umbenennen einer bestehenden Tabelle verwendetALTER TABLEDie grundlegende Syntax lautet wie folgt:

ALTER TABLE database_name.table_name RENAME TO new_table_name;

Wird zum Hinzufügen einer neuen Spalte zu einer bestehenden Tabelle verwendetALTER TABLEDie grundlegende Syntax lautet wie folgt:

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

Beispiele

Angenommen, unsere COMPANY-Tabelle hat die folgenden Datensätze:

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

Jetzt versuchen wir, die Tabelle mit der ALTER TABLE-Anweisung umzubenennen, wie folgt:

sqlite> ALTER TABLE COMPANY RENAME TO OLD_COMPANY;

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

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

Jetzt hat sich die COMPANY-Tabelle geändert. Unter Verwendung der SELECT-Anweisung lautet die Ausgabe wie folgt:

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

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

Andere Erweiterungen