Execute a instrução ALTER TABLE para adicionar ou remover uma coluna de atributo em uma tabela de mapeamento existente.
Para mais informações, consulte Atualizar colunas de atributo de tabelas de mapeamento.
Pré-requisitos
Antes de começar, verifique se você tem:
Uma instância OTSClient inicializada. Para mais informações, consulte Inicializar uma instância OTSClient.
Uma tabela de mapeamento. Para mais informações, consulte Criar uma tabela de mapeamento.
Observações de uso
A instrução
ALTER TABLEatualiza colunas de atributo apenas em tabelas de mapeamento criadas com a instruçãoCREATE TABLE. Não é possível usarALTER TABLEpara modificar colunas de atributo em tabelas de mapeamento geradas automaticamente pela instruçãoDESCRIBE.Cada execução da instrução
ALTER TABLEadiciona ou remove somente uma coluna de atributo. Para alterar múltiplas colunas, execute o comando repetidamente.O comando
ALTER TABLEatualiza exclusivamente o esquema da tabela de mapeamento. O esquema da tabela do Tablestore associada permanece inalterado.Não use a instrução
ALTER TABLEpara adicionar ou remover colunas de chave primária em uma tabela de mapeamento.Após a execução da instrução
ALTER TABLE, o mecanismo SQL atualiza a tabela de mapeamento de forma assíncrona. Esse processo pode levar até 30 segundos. Durante a atualização, operações que retornam todas as colunas podem não incluir a nova coluna adicionada.
Parâmetros
|
Parâmetro |
Descrição |
|
query |
A instrução SQL. Configure este parâmetro conforme o recurso desejado. |
Exemplos
Os exemplos abaixo usam SQLQueryRequest para enviar uma instrução ALTER TABLE por meio de client.SQLQuery. O ID da solicitação na resposta confirma o sucesso da operação.
-
Adicionar uma coluna de atributo
O código de exemplo a seguir adiciona uma coluna
colvaluedo tipoBIGINTà tabela de mapeamento chamadaexampletable:func alterTableAddColumn(client *tablestore.TableStoreClient) { // Create an SQL request. request := &tablestore.SQLQueryRequest{Query: "alter table exampletable add column colvalue bigint"} // Obtain the response to the SQL request. res, err := client.SQLQuery(request) if err != nil { fmt.Println(err.Error()) } else { fmt.Println(res.ResponseInfo.RequestId) } } -
Remover uma coluna de atributo
O código de exemplo a seguir remove a coluna
colvalueda tabela de mapeamento chamadaexampletable:func alterTableDropColumn(client *tablestore.TableStoreClient) { // Create an SQL request. request := &tablestore.SQLQueryRequest{Query: "alter table exampletable drop column colvalue"} // Obtain the response to the SQL request. res, err := client.SQLQuery(request) if err != nil { fmt.Println(err.Error()) } else { fmt.Println(res.ResponseInfo.RequestId) } }
Para atualizar colunas de atributo, remova as colunas desnecessárias e adicione novas colunas conforme suas necessidades.
FAQ
Referências
Após atualizar as colunas de atributo, execute a instrução
SELECTpara consultar e analisar dados. Para mais informações, consulte Consultar dados.Para visualizar detalhes da tabela, execute a instrução
DESCRIBE. Para mais informações, consulte Consultar informações sobre uma tabela.Para excluir uma tabela de mapeamento desnecessária, execute a instrução
DROP MAPPING TABLE. Para mais informações, consulte Excluir tabelas de mapeamento.Para visualizar informações de índice de uma tabela, execute a instrução
SHOW INDEX. Para mais informações, consulte Consultar informações de índice sobre tabelas.Para listar as tabelas de mapeamento no banco de dados atual, execute a instrução
SHOW TABLES. Para mais informações, consulte Consultar os nomes das tabelas de mapeamento.