sql >> Databáze >  >> RDS >> SQLite

Vložení SQLite

Shrnutí :v tomto tutoriálu se naučíte používat SQLite INSERT příkaz pro vložení nových řádků do tabulky.

Chcete-li vložit data do tabulky, použijte INSERT prohlášení. SQLite poskytuje různé formy INSERT příkazy, které umožňují vložit do tabulky jeden řádek, více řádků a výchozí hodnoty.

Navíc můžete do tabulky vložit řádek pomocí dat poskytnutých SELECT prohlášení.

SQLite INSERT – vložení jednoho řádku do tabulky

Chcete-li do tabulky vložit jeden řádek, použijte následující formulář INSERT prohlášení:

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

Podívejme se na INSERT podrobnější prohlášení:

  • Nejprve zadejte název tabulky, do které chcete vložit data za INSERT INTO klíčová slova.
  • Zadruhé přidejte za název tabulky seznam sloupců oddělených čárkami. Seznam sloupců je volitelný. Je však dobrým zvykem zahrnout seznam sloupců za název tabulky.
  • Za třetí, přidejte seznam hodnot oddělených čárkami za VALUES klíčové slovo. Pokud vynecháte seznam sloupců, musíte zadat hodnoty pro všechny sloupce v seznamu hodnot. Počet hodnot v seznamu hodnot musí být stejný jako počet sloupců v seznamu sloupců.

Použijeme artists tabulky ve vzorové databázi pro ukázku.

Následující příkaz vloží nový řádek do artists tabulka:

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

Zkuste to

Protože ArtistId je sloupec s automatickým přírůstkem, můžete jej v příkazu ignorovat. SQLite automaticky generuje sekvenční celé číslo, které se vloží do ArtistId sloupec.

Operaci vložení můžete ověřit pomocí následujícího SELECT prohlášení:

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

Zkuste to

Jak vidíte, máme nový řádek v artists tabulka.

SQLite INSERT – Vložení více řádků do tabulky

Chcete-li do tabulky vložit více řádků, použijte následující formulář INSERT prohlášení:

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

Každý seznam hodnot za VALUES klauzule je řádek, který bude vložen do tabulky.

Následující příklad vloží tři řádky do artists tabulka:

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

Zkuste to

SQLite vydal zprávu:

Row Affected: 3

Výsledek můžete ověřit pomocí následujícího prohlášení:

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

Zkuste to

SQLite INSERT – Vložení výchozích hodnot

Když vytvoříte novou tabulku pomocí CREATE TABLE můžete zadat výchozí hodnoty pro sloupce nebo NULL pokud není zadána výchozí hodnota.

Třetí forma INSERT příkaz je INSERT DEFAULT VALUES , který vloží nový řádek do tabulky pomocí výchozích hodnot uvedených v definici sloupce nebo NULL pokud výchozí hodnota není k dispozici a sloupec nemá NOT NULL omezení.

Například následující příkaz vloží nový řádek do artists tabulky pomocí INSERT DEFAULT VALUES :

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

Zkuste to

K ověření vložení použijte následující příkaz:

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

Zkuste to

Výchozí hodnota ArtistId sloupec je další sekvenční celé číslo. Nicméně name sloupec nemá žádnou výchozí hodnotu, proto INSERT DEFAULT VALUES příkaz vloží NULL do toho.

SQLite INSERT – Vkládání nových řádků s daty poskytnutými SELECT prohlášení

Předpokládejme, že chcete zálohovat artists tabulky, můžete postupovat takto:

Nejprve vytvořte novou tabulku s názvem artists_backup takto:

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

Zkuste to

Pro vložení dat do artists_backup tabulka s daty od artists tabulky, použijete INSERT INTO SELECT prohlášení takto:

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

Zkuste to

Pokud se dotazujete na data z artists_backup v tabulce artists uvidíte všechna data tabulka.

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

Zkuste to

V tomto tutoriálu jste se naučili používat různé formy SQLite INSERT příkaz, který vloží nové řádky do tabulky.

Odkazy

  • https://www.sqlite.org/lang_insert.html – příkaz SQLite INSERT

  1. SQL server ignoruje velká a malá písmena ve výrazu where

  2. Návrat z Open World 2013

  3. Deset způsobů, jak váš datový projekt selže

  4. Jak správně vytvořit kompozitní primární klíče - MYSQL