SQLite
 sql >> Database >  >> RDS >> SQLite

Aggiornamento SQLite

Riepilogo :in questo tutorial imparerai come usare SQLite UPDATE istruzione per aggiornare i dati delle righe esistenti nella tabella.

Introduzione a SQLite UPDATE dichiarazione

Per aggiornare i dati esistenti in una tabella, usi SQLite UPDATE dichiarazione. Di seguito viene illustrata la sintassi di UPDATE dichiarazione:

UPDATE table
SET column_1 = new_value_1,
    column_2 = new_value_2
WHERE
    search_condition 
ORDER column_or_expression
LIMIT row_count OFFSET offset;Code language: SQL (Structured Query Language) (sql)

In questa sintassi:

  • In primo luogo, specifica la tabella in cui desideri aggiornare dopo l'UPDATE clausola.
  • In secondo luogo, imposta un nuovo valore per ogni colonna della tabella nel SET clausola.
  • In terzo luogo, specifica le righe da aggiornare utilizzando una condizione in WHERE clausola. Il WHERE la clausola è facoltativa. Se lo salti, il UPDATE aggiornerà i dati in tutte le righe della tabella.
  • Infine, usa il ORDER BY e LIMIT clausole in UPDATE istruzione per specificare il numero di righe da aggiornare.

Nota che se usa un valore negativo nel LIMIT clausola, SQLite presuppone che non vi siano limiti e aggiorna tutte le righe che soddisfano la condizione nel precedente WHERE clausola.

Il ORDER BY la clausola dovrebbe sempre andare con il LIMIT clausola per specificare esattamente quali righe devono essere aggiornate. In caso contrario, non saprai mai quale riga verrà effettivamente aggiornata; perché senza il ORDER BY clausola, l'ordine delle righe nella tabella non è specificato.

SQLite UPDATE esempi di affermazioni

Useremo i employees tabella nel database di esempio per dimostrare l'UPDATE dichiarazione.

Il seguente SELECT istruzione ottiene dati parziali dai employees tabella:

SELECT
	employeeid,
	firstname,
	lastname,
	title,
	email
FROM
	employees;Code language: SQL (Structured Query Language) (sql)

Provalo

1) Aggiorna un esempio di colonna

Supponiamo che Jane si sia sposata e volesse cambiare il suo cognome con il cognome di suo marito, cioè Smith . In questo caso, puoi aggiornare il cognome di Jane utilizzando la seguente istruzione:

UPDATE employees
SET lastname = 'Smith'
WHERE employeeid = 3;Code language: SQL (Structured Query Language) (sql)

Provalo

L'espressione nel WHERE La clausola assicura che aggiorniamo solo il record di Jane. Impostiamo il lastname colonna in una stringa letterale 'Smith' .

Per verificare l'UPDATE , utilizzi la seguente istruzione:

SELECT
	employeeid,
	firstname,
	lastname,
	title,
	email
FROM
	employees
WHERE
	employeeid = 3;Code language: SQL (Structured Query Language) (sql)

Provalo

2) Aggiorna più colonne esempio

Supponiamo Park Margaret si trova in Toronto e vuoi cambiare le sue informazioni su indirizzo, città e stato. Puoi usare il UPDATE istruzione per aggiornare più colonne come segue:

UPDATE employees
SET city = 'Toronto',
    state = 'ON',
    postalcode = 'M5P 2N7'
WHERE
    employeeid = 4;Code language: SQL (Structured Query Language) (sql)

Provalo

Per verificare l'UPDATE , utilizzi la seguente istruzione:

SELECT
	employeeid,
	firstname,
	lastname,
	state,
	city,
	PostalCode
FROM
	employees
WHERE
	employeeid = 4;Code language: SQL (Structured Query Language) (sql)

Provalo

3) Aggiorna con ORDER BY e LIMIT esempio di clausole

Nota che devi compilare SQLite con l'opzione SQLITE_ENABLE_UPDATE_DELETE_LIMIT per eseguire UPDATE istruzione con ORDER BY opzionale e LIMIT clausole.

Controlliamo gli indirizzi email dei dipendenti in employees tabella:

SELECT
	employeeid,
	firstname,
	lastname,
	email
FROM
	employees;Code language: SQL (Structured Query Language) (sql)

Provalo

Per aggiornare una riga in employees tabella, usi LIMIT 1 clausola. Per essere sicuro di aggiornare la prima riga di dipendenti ordinati per nome, aggiungi il ORDER BY firstname clausola.

Quindi la seguente dichiarazione aggiorna l'email di Andrew Adams :

UPDATE employees
SET email = LOWER(
	firstname || "." || lastname || "@chinookcorp.com"
)
ORDER BY
	firstname
LIMIT 1;Code language: SQL (Structured Query Language) (sql)

Provalo

La nuova email è la combinazione di nome, punto (.), cognome e suffisso @chinookcorp.com

Il LOWER() la funzione converte l'e-mail in minuscolo.

4) Aggiorna tutte le righe esempio

Per aggiornare tutte le righe in employees tabella, salti il ​​WHERE clausola. Ad esempio, il seguente UPDATE l'istruzione cambia tutti gli indirizzi e-mail di tutti i dipendenti in minuscolo:

UPDATE employees
SET email = LOWER(
	firstname || "." || lastname || "@chinookcorp.com"
);Code language: SQL (Structured Query Language) (sql)

Provalo

In questo tutorial, hai imparato come usare SQLite UPDATE istruzione per aggiornare i dati esistenti in una tabella.

Riferimenti

  • https://www.sqlite.org/lang_update.html – Dichiarazione di aggiornamento SQLite