A instrução Substitua no SQLite funciona com a ideia de que uma vez que as restrições de chave primária ou exclusivas falham, eliminará a entrada problemática e inserirá uma nova linha. No sqlite, o comando de substituição geralmente executa uma operação em duas etapas. O primeiro é que começa a excluir o registro que viola a restrição e o segundo é adicionar outra linha. Portanto, se houver uma violação de restrição na segunda etapa ao inserir uma nova entrada, a transação será revertida.
Com um exemplo, aprenderemos sobre as declarações SQLite Substituir e como usá -las para remover e reinserir entradas existentes.
Sintaxe da instrução Substituir em SQLite:
A operação SQLite Substituir tem a seguinte sintaxe.
>> Substitua (string, encontre a substring, substitua por nova string)Funciona passando três argumentos: a "string" contendo a substring a ser substituída. A "substring" dentro desse texto a ser substituída, bem como a string a ser "substituída" pela nova string.
Como usar a instrução Substituir no SQLite:
Aqui, vamos com alguns exemplos de operação de substituição do SQLite e vemos o uso dele em SQLite. Observe que a substituição sensível ao caso é levada em consideração ao usar a função Substituir.
Temos uma operação simples de substituição na figura a seguir. Primeiro, precisamos de uma instrução SELECT e depois usar uma função de substituição para a qual passamos três argumentos. O primeiro argumento é a corda "suco de maçã" e o segundo argumento é a "maçã" que queremos substituir. Esta “maçã” é uma substring da string dada e o terceiro argumento é passado com uma nova string “Orange” que é substituída pela substring “Apple”. Os seguintes resultados da consulta são mostrados na figura da seguinte forma:
>> selecione Substituir ('suco de maçã', 'maçã', 'laranja');Temos o nosso segundo caso de substituição, que também leva três argumentos. O primeiro é o string "Chicken Burger", em seguida, temos substring como "pizza", que não é a parte da string que definimos. Observe que nada é alterado e o texto original é retornado se o segundo parâmetro não for encontrado no primeiro argumento. A figura mostra a consulta da função de substituição e seus resultados correspondentes.
>> Selecione Substituir ('Frango Burger', 'Pizza', 'Pattie');Este é o nosso terceiro caso em que temos nosso segundo argumento é uma corda vazia. Aqui, também a função de substituição muda nada além de retorna a sequência de origem que especificamos.
>> selecione Substituir ('Diamond Ring', ", 'Gold');No entanto, isso não pode ser verdade no terceiro argumento. Se essa string estiver vazia e o primeiro argumento contiver o segundo argumento. O segundo argumento será removido da string da seguinte maneira:
>> Selecione Substituir ('Luz Amarela', 'Amarelo', ");Se a string não contiver nosso segundo argumento, ele retornará a string.
>> selecione Substituir ('Vitamina C', 'Iron', ");Agora, aqui estamos substituindo uma string pelo valor inteiro que é possível na função de substituição de sqlite. O resultado está mostrando que a string é substituída pelos valores do número.
>> Selecione Substituir ('Número de ID', 'Número', 8);Exemplo 1: Crie uma tabela para usar a função Substituir:
Criamos uma tabela que é representada como "cremes". Atribuímos três colunas a esta tabela e também definimos seus tipos de dados. Mostrando a imagem abaixo, a tabela é criada com sucesso.
Crie cremes de mesa (Em seguida, inserimos os valores em cada coluna na tabela “cremes” da seguinte forma:
Inserir em valores de cremes (1, 'sorvete', 300);Para visualizar o registro da tabela, basta usar a seguinte consulta e o registro da tabela será exibido como abaixo.
Exemplo 2: Usando a função Substituir na instrução ATUALIZAÇÃO:
Lá, temos uma declaração de atualização que aplicamos à tabela “cremes”. A declaração de atualização define os valores da coluna da tabela "Cream_name" chamando o operador de conjunto. Para o operador definido, atribuímos uma função de substituição e, dentro da função de substituição, passamos três argumentos. O primeiro argumento é o nome da coluna "Cream_name", no qual queremos um substituto. Em seguida, a string "creme" é usada como um segundo argumento sobre o qual a substituição será implementada. Quando a função Substituir encontra a string "creme" da coluna "Cream_name" da tabela "Cremes", ela deve alterá -la com a nova string "maionese". A função de substituição leva a string "maionese" como a terceira entrada.
ATUALIZARAs mudanças ocorrem com sucesso na tela de resultado a seguir.
Exemplo 3: Usando a função Substitua no índice exclusivo no SQLite:
A coluna "Nome do creme" da tabela "cremes" será usada para gerar um índice. Eu usei a consulta SQLite abaixo para criar um índice exclusivo no campo “Nome do creme.”
>> Crie índice exclusivo idx_creams_cream_name em cremes (cream_name);Agora, adicionaremos uma restrição para adicionar o nome do creme à tabela "creme". Se o nome do creme já existir, ele deve atualizar essa entrada. Caso contrário, ele precisará inserir um novo nome de creme. Simplesmente adicionamos esse recurso, utilizando a instrução SQLITE SUBSELHITY da seguinte maneira.
Substitua em cremes (Cream_id, Cream_name, Cream_price)Como o cream_name "alho-mayo" não existe na tabela "cremes", a seguinte declaração SQLite substitui uma nova linha. Ao executar a instrução SELECT, o shell sqlite executa o registro dos cremes de tabela com o recorde recém -inserido.
Conclusão:
Esse é o desempenho da função SQLite para recuperar os dados que exigimos de acordo com nossas especificações. Definimos a sintaxe da função de substituição que usamos no sqlite. Em seguida, exploramos alguns casos diferentes para mostrar como a função de substituição responde a esses casos. Por fim, temos casos de substituição que usamos na tabela SQLite.