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

Inserisci SQLite

Riepilogo :in questo tutorial imparerai come usare SQLite INSERT istruzione per inserire nuove righe in una tabella.

Per inserire i dati in una tabella, usa INSERT dichiarazione. SQLite fornisce varie forme di INSERT istruzioni che consentono di inserire una singola riga, più righe e valori predefiniti in una tabella.

Inoltre, puoi inserire una riga in una tabella utilizzando i dati forniti da un SELECT dichiarazione.

SQLite INSERT – inserimento di una singola riga in una tabella

Per inserire una singola riga in una tabella, utilizza la seguente forma di INSERT dichiarazione:

INSERT INTO table (column1,column2 ,..)
VALUES( value1,	value2 ,...);Code language: SQL (Structured Query Language) (sql)

Esaminiamo il INSERT dichiarazione in modo più dettagliato:

  • In primo luogo, specifica il nome della tabella in cui vuoi inserire i dati dopo INSERT INTO parole chiave.
  • In secondo luogo, aggiungi un elenco di colonne separate da virgole dopo il nome della tabella. L'elenco delle colonne è facoltativo. Tuttavia, è buona norma includere l'elenco delle colonne dopo il nome della tabella.
  • In terzo luogo, aggiungi un elenco di valori separati da virgole dopo VALUES parola chiave. Se si omette l'elenco delle colonne, è necessario specificare i valori per tutte le colonne nell'elenco dei valori. Il numero di valori nell'elenco di valori deve essere uguale al numero di colonne nell'elenco di colonne.

Useremo gli artists tabella nel database di esempio per la dimostrazione.

La seguente istruzione inserisce una nuova riga in artists tabella:

INSERT INTO artists (name)
VALUES('Bud Powell');Code language: SQL (Structured Query Language) (sql)

Provalo

Perché l'ArtistId colonna è una colonna con incremento automatico, puoi ignorarla nell'istruzione. SQLite genera automaticamente un numero intero sequenziale da inserire in ArtistId colonna.

È possibile verificare l'operazione di inserimento utilizzando il seguente SELECT dichiarazione:

SELECT
	ArtistId,
	Name
FROM
	Artists
ORDER BY
	ArtistId DESC
LIMIT 1;Code language: SQL (Structured Query Language) (sql)

Provalo

Come vedi, abbiamo una nuova riga in artists tabella.

SQLite INSERT – Inserimento di più righe in una tabella

Per inserire più righe in una tabella, utilizza la seguente forma di INSERT dichiarazione:

INSERT INTO table1 (column1,column2 ,..)
VALUES 
   (value1,value2 ,...),
   (value1,value2 ,...),
    ...
   (value1,value2 ,...);
Code language: SQL (Structured Query Language) (sql)

Ciascuna lista di valori che segue il VALUES clausola è una riga che verrà inserita nella tabella.

L'esempio seguente inserisce tre righe in artists tabella:

INSERT INTO artists (name)
VALUES
	("Buddy Rich"),
	("Candido"),
	("Charlie Byrd");Code language: SQL (Structured Query Language) (sql)

Provalo

SQLite ha emesso un messaggio:

Row Affected: 3

Puoi verificare il risultato utilizzando la seguente istruzione:

SELECT
	ArtistId,
	Name
FROM
	artists
ORDER BY
	ArtistId DESC
LIMIT 3;Code language: SQL (Structured Query Language) (sql)

Provalo

SQLite INSERT – Inserimento di valori predefiniti

Quando crei una nuova tabella usando CREATE TABLE istruzione, puoi specificare i valori predefiniti per le colonne o un NULL se non viene specificato un valore predefinito.

La terza forma di INSERT l'istruzione è INSERT DEFAULT VALUES , che inserisce una nuova riga in una tabella utilizzando i valori predefiniti specificati nella definizione di colonna o NULL se il valore predefinito non è disponibile e la colonna non ha un NOT NULL vincolo.

Ad esempio, la seguente istruzione inserisce una nuova riga in artists tabella utilizzando INSERT DEFAULT VALUES :

INSERT INTO artists DEFAULT VALUES;Code language: SQL (Structured Query Language) (sql)

Provalo

Per verificare l'inserimento si utilizza la seguente istruzione:

SELECT
	ArtistId,
	Name
FROM
	artists
ORDER BY
	ArtistId DESC;Code language: SQL (Structured Query Language) (sql)

Provalo

Il valore predefinito di ArtistId colonna è il successivo intero sequenziale. Tuttavia, il name la colonna non ha alcun valore predefinito, pertanto, INSERT DEFAULT VALUES l'istruzione inserisce NULL dentro.

SQLite INSERT – Inserimento di nuove righe con i dati forniti da un SELECT dichiarazione

Supponi di voler eseguire il backup degli artists tabella, puoi seguire questi passaggi:

Innanzitutto, crea una nuova tabella denominata artists_backup come segue:

CREATE TABLE artists_backup(
   ArtistId INTEGER PRIMARY KEY AUTOINCREMENT,
   Name NVARCHAR
);Code language: SQL (Structured Query Language) (sql)

Provalo

Per inserire dati nel artists_backup tabella con i dati degli artists tabella, usi INSERT INTO SELECT dichiarazione come segue:

INSERT INTO artists_backup 
SELECT ArtistId, Name
FROM artists;Code language: SQL (Structured Query Language) (sql)

Provalo

Se esegui una query sui dati da artists_backup tabella, vedrai tutti i dati nella artists tabella.

SELECT * FROM artists_backup;Code language: SQL (Structured Query Language) (sql)

Provalo

In questo tutorial, hai imparato come utilizzare varie forme di SQLite INSERT istruzione che inserisce nuove righe in una tabella.

Riferimenti

  • https://www.sqlite.org/lang_insert.html – Istruzione SQLite INSERT