SQLite - Comando ALTER TABLE

SQLite ALTER TABLEcomando modifica uma tabela existente sem realizar um despejo completo e recarregar os dados. Você pode renomear uma tabela usando a instrução ALTER TABLE e colunas adicionais podem ser adicionadas em uma tabela existente usando a instrução ALTER TABLE.

Não há nenhuma outra operação suportada pelo comando ALTER TABLE no SQLite, exceto renomear uma tabela e adicionar uma coluna em uma tabela existente.

Sintaxe

A seguir está a sintaxe básica de ALTER TABLE para RENOMEAR uma tabela existente.

ALTER TABLE database_name.table_name RENAME TO new_table_name;

A seguir está a sintaxe básica de ALTER TABLE para adicionar uma nova coluna em uma tabela existente.

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

Exemplo

Considere a tabela COMPANY com os seguintes 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

Agora, vamos tentar renomear esta tabela usando a instrução ALTER TABLE da seguinte maneira -

sqlite> ALTER TABLE COMPANY RENAME TO OLD_COMPANY;

A instrução SQLite acima renomeará a tabela COMPANY para OLD_COMPANY. Agora, vamos tentar adicionar uma nova coluna na tabela OLD_COMPANY da seguinte forma -

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

A tabela COMPANY foi alterada e a seguir será a saída da instrução 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

Deve-se observar que a coluna recém-adicionada é preenchida com valores NULL.