English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Comando ALTER TABLE no SQLite

A instrução ALTER TABLE do SQLite pode modificar uma tabela existente sem a necessidade de fazer um backup completo dos dados e recarregá-los. Você pode usar a instrução ALTER TABLE para renomear a tabela e para adicionar outras colunas na tabela existente.

Além de renomear a tabela e adicionar colunas em uma tabela existente, a instrução ALTER TABLE do SQLite não suporta outras operações.

Gramática

A seguir estáALTER TABLEGramática básica para renomear uma tabela existente.

ALTER TABLE database_name.table_name RENAME TO new_table_name;

A seguir estáALTER TABLEGramática básica para adicionar uma nova coluna em uma tabela existente.

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

Exemplo online

A tabela COMPANY com os seguintes registros-

ID                             NAME                             AGE                                             ADDRESS                             SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          Califórnia  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Noruega      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 a tabela usando a instrução ALTER TABLE, conforme mostrado a seguir:

sqlite> ALTER TABLE COMPANY RENAME TO OLD_COMPANY;

A instrução SQLite acima renomeia a tabela COMPANY para OLD_COMPANY. Agora, vamos tentar adicionar uma nova coluna à tabela OLD_COMPANY, conforme mostrado a seguir:

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

A COMPANY agora foi alterada, a seguir será a saída da consulta SELECT.

ID          NOME        IDADE         ENDEREÇO     SALÁRIO      SEXO
----------  ----------  ----------  ----------  ----------  ---
1           Paul        32          Califórnia  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Noruega      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 notar que as colunas recém-adicionadas estão preenchidas com valores NULL.