SQLite

Datenbanknutzung; eingebettete relationale Datenbank

Englisch [ˈɔ:ltə(r)]

vt alt

vi. ändern;

SQLite Alter-Befehl Syntax

Funktion: Der ALTER TABLE-Befehl von SQLite ändert keine vorhandenen Tabellen, indem er einen vollständigen Dump und ein Neuladen der Daten durchführt. Mit der ALTER TABLE-Anweisung können Sie eine Tabelle umbenennen und zusätzliche Spalten zu einer vorhandenen Tabelle hinzufügen.

In SQLite unterstützt der Befehl ALTER TABLE keine anderen Vorgänge außer dem Umbenennen von Tabellen und dem Hinzufügen von Spalten zu vorhandenen Tabellen.

Syntax: Die grundlegende Syntax von ALTER TABLE zum Umbenennen einer vorhandenen Tabelle lautet wie folgt:

ALTER TABLE Datenbankname.Tabellenname RENAME TO neuer_Tabellenname;

Wird zum Hinzufügen einer neuen Spalte zu einer vorhandenen Tabelle verwendet. Die grundlegende Syntax von ALTER TABLE lautet wie folgt:

ALTER TABLE Datenbankname.Tabellenname ADD COLUMN Spaltendefinition...;

SQLite Alter-Befehl Beispiel

 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 值来填充的。