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.