SQLite Comando ALTER

de SQLiteALTER TABLEEl comando ALTER de SQLite no modifica las tablas existentes mediante la ejecución de un volcado completo y la recarga de datos. Puede usar la sentencia ALTER TABLE para renombrar una tabla, y con la sentencia ALTER TABLE también puede agregar columnas adicionales a una tabla existente.

En SQLite, además de renombrar tablas y agregar columnas en tablas existentes, el comando ALTER TABLE no admite otras operaciones.

Sintaxis

Para renombrar una tabla existente,ALTER TABLEla sintaxis básica es la siguiente:

ALTER TABLE database_name.table_name RENAME TO new_table_name;

Para agregar una nueva columna a una tabla existente,ALTER TABLEla sintaxis básica es la siguiente:

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

Ejemplos

Supongamos que nuestra tabla COMPANY tiene 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 renombrar esta tabla usando la sentencia ALTER TABLE, como se muestra a continuación:

sqlite> ALTER TABLE COMPANY RENAME TO OLD_COMPANY;

La sentencia SQLite anterior renombrará la tabla COMPANY a OLD_COMPANY. Ahora, intentemos agregar una nueva columna a la tabla OLD_COMPANY, como se muestra a continuación:

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

Ahora, la tabla COMPANY ha cambiado; al usar la sentencia SELECT, la salida es la siguiente:

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

Tenga en cuenta que la nueva columna agregada se rellena con valores NULL.

Otras extensiones