L'istruzione Sostituisci in SQLite funziona sull'idea che una volta che i vincoli di chiave unici o primari falliscono, eliminerà l'ingresso problematico e inserirà una nuova riga. In SQLite, il comando di sostituzione di solito esegue un'operazione in due fasi. Il primo è inizia eliminando il record che viola il vincolo e il secondo è aggiungere un'altra riga. Quindi, se c'è una violazione del vincolo nel secondo passaggio quando si inserisce una nuova voce, la transazione verrà ribaltata.
Con un esempio, impareremo le dichiarazioni di sostituzione di SQLite e come usarle per rimuovere e reinserire le voci esistenti.
Sintassi dell'istruzione Sostituisci in SQLite:
L'operazione di sostituzione di SQLite ha la seguente sintassi.
>> sostituire (stringa, trovare la sottostringa, sostituire con nuova stringa)Funziona passando tre argomenti: la "stringa" contenente la sottostringa da sostituire. La "sottostringa" all'interno di quel testo da sostituire, così come la stringa da "sostituire" con la nuova stringa.
Come utilizzare l'istruzione Sostituisci in SQLite:
Qui, andiamo con alcuni SQLite Sostituiamo esempi operativi e ne vediamo l'uso in SQLite. Si noti che viene presa in considerazione la sostituzione del caso-sensibile quando si utilizza la funzione di sostituzione.
Abbiamo una semplice operazione di sostituzione nella figura seguente. Innanzitutto, abbiamo bisogno di un'istruzione selezionata e quindi utilizzare una funzione di sostituzione a cui abbiamo superato tre argomenti. Il primo argomento è la stringa "succo di mela" e il secondo argomento è la "mela" che vogliamo sostituire. Questa "Apple" è una sottostringa dalla stringa data e il terzo argomento viene superato con una nuova stringa "arancione" che viene sostituita dalla sottostringa "Apple". I seguenti risultati della query sono mostrati nell'immagine come segue:
>> Seleziona Sostituisci ("Juice Apple", "Apple", "Orange");Abbiamo il nostro secondo caso di sostituzione che richiede anche tre argomenti. Il primo è la stringa "Burger di pollo", successivamente abbiamo la sottostringa come "pizza" che non è la parte della stringa che abbiamo definito. Si noti che nulla viene modificato e il testo originale viene restituito se il secondo parametro non si trova nel primo argomento. La figura mostra la query della funzione di sostituzione e i risultati corrispondenti.
>> Seleziona Sostituisci ("Chicken Burger", "Pizza", "Pattie");Questo è il nostro terzo caso in cui abbiamo il nostro secondo argomento è una stringa vuota. Qui, anche la funzione di sostituzione non cambia altro che restituisce la stringa di origine che abbiamo specificato.
>> Seleziona sostituire ('Diamond Ring', ", 'Gold');Tuttavia, questo non può essere vero per il terzo argomento. Se quella stringa è vuota e il primo argomento contiene il secondo argomento. Il secondo argomento verrà rimosso dalla stringa come segue:
>> Seleziona sostituire ("luce gialla", "giallo", ");Se la stringa non contiene il nostro secondo argomento, restituisce la stringa.
>> Seleziona sostituire ("vitamina C", "ferro", ");Ora, qui stiamo sostituendo una stringa con il valore intero che è possibile nella funzione di sostituzione di SQLite. Il risultato mostra che la stringa viene sostituita con i valori numerici.
>> Seleziona Sostituisci ('ID Number', 'Number', 8);Esempio 1: creare una tabella per l'utilizzo della funzione di sostituzione:
Abbiamo creato un tavolo rappresentato come "creme". Abbiamo assegnato tre colonne a questa tabella e anche impostare i loro tipi di dati. Mostrando l'immagine qui sotto, la tabella viene creata correttamente.
Crea creme da tavolo (Quindi, abbiamo inserito i valori contro ogni colonna nella tabella "Creams" come segue:
Inserisci i valori delle creme (1, "gelato", 300);Per visualizzare il record della tabella, basta utilizzare la seguente query e il record della tabella verrà visualizzato come di seguito.
Esempio 2: utilizzando la funzione Sostituisci all'interno dell'istruzione di aggiornamento:
Lì, abbiamo una dichiarazione di aggiornamento che abbiamo applicato al tavolo "Creams". L'istruzione di aggiornamento imposta i valori della colonna della tabella "Cream_name" chiamando l'operatore set. All'operatore set, abbiamo assegnato una funzione di sostituzione e all'interno della funzione di sostituzione, abbiamo superato tre argomenti. Il primo argomento è il nome della colonna "Cream_name" in cui vogliamo una sostituzione. Quindi, la stringa "crema" viene utilizzata come secondo argomento su cui verrà implementata la sostituzione. Quando la funzione di sostituzione trova la stringa "crema" dalla colonna "Cream_name" della tabella "Creams", dovrebbe cambiarla con la nuova stringa "Mayo". La funzione di sostituzione prende la stringa "Mayo" come terzo input.
AGGIORNAMENTOLe modifiche si verificano correttamente nella seguente schermata dei risultati.
Esempio 3: utilizzando la funzione Sostituisci sull'indice univoco in SQLite:
La colonna "Nome crema" della tabella "Creams" verrà utilizzata per generare un indice. Ho usato la query SQLite di seguito per creare un indice univoco sul campo "Nome crema."
>> Crea indice univoco idx_creams_cream_name su crems (Cream_name);Ora aggiungeremo un vincolo per l'aggiunta del nome della crema al tavolo "Crema". Se il nome della crema esiste già, dovrebbe aggiornare quella voce. Altrimenti, dovrà inserire un nuovo nome di crema. Abbiamo semplicemente aggiunto questa funzione utilizzando l'istruzione SQLite di sostituzione come segue.
Sostituisci in Creams (Cream_id, Cream_Name, Cream_Price)Poiché la crema_name "aglio-mayo" non esiste nella tabella "Creams", la seguente istruzione SQLite di sostituzione introduce una nuova riga in essa. Dopo aver eseguito l'istruzione SELECT, la shell SQLite esegue il record delle creme da tavolo con il record appena inserito.
Conclusione:
Questa è la performance della funzione di sostituzione di sqlite per recuperare i dati che richiediamo in base alle nostre specifiche. Abbiamo definito la sintassi della funzione di sostituzione che utilizziamo in sqlite. Quindi, abbiamo esplorato alcuni casi diversi per mostrare come la funzione di sostituzione risponde a questi casi. Finalmente, abbiamo istanze di funzionalità di sostituzione che utilizziamo nella tabella SQLite.