SQLite - Comando ALTER TABLE
SQLite ALTER TABLEEl comando modifica una tabla existente sin realizar un volcado completo y recargar los datos. Puede cambiar el nombre de una tabla usando la instrucción ALTER TABLE y se pueden agregar columnas adicionales en una tabla existente usando la instrucción ALTER TABLE.
No hay otra operación compatible con el comando ALTER TABLE en SQLite, excepto cambiar el nombre de una tabla y agregar una columna en una tabla existente.
Sintaxis
A continuación se muestra la sintaxis básica de ALTER TABLE para CAMBIAR EL NOMBRE de una tabla existente.
ALTER TABLE database_name.table_name RENAME TO new_table_name;
A continuación se muestra la sintaxis básica de ALTER TABLE para agregar una nueva columna en una tabla existente.
ALTER TABLE database_name.table_name ADD COLUMN column_def...;
Ejemplo
Considere la tabla EMPRESA con los siguientes registros:
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
Ahora, intentemos cambiar el nombre de esta tabla usando la instrucción ALTER TABLE de la siguiente manera:
sqlite> ALTER TABLE COMPANY RENAME TO OLD_COMPANY;
La declaración SQLite anterior cambiará el nombre de la tabla COMPANY a OLD_COMPANY. Ahora, intentemos agregar una nueva columna en la tabla OLD_COMPANY de la siguiente manera:
sqlite> ALTER TABLE OLD_COMPANY ADD COLUMN SEX char(1);
La tabla EMPRESA ahora ha cambiado y la siguiente será la salida de la instrucción 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
Cabe señalar que la columna recién agregada se llena con valores NULL.