sql >> Databasteknik >  >> RDS >> SQLite

SQLite Insert

Sammanfattning :i denna handledning kommer du att lära dig hur du använder SQLite INSERT för att infoga nya rader i en tabell.

För att infoga data i en tabell använder du INSERT påstående. SQLite tillhandahåller olika former av INSERT satser som låter dig infoga en enda rad, flera rader och standardvärden i en tabell.

Dessutom kan du infoga en rad i en tabell med hjälp av data som tillhandahålls av en SELECT uttalande.

SQLite INSERT – infoga en enda rad i en tabell

För att infoga en enstaka rad i en tabell använder du följande form av INSERT uttalande:

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

Låt oss undersöka INSERT uttalande mer detaljerat:

  • Ange först namnet på tabellen som du vill infoga data i efter INSERT INTO sökord.
  • För det andra lägger du till en kommaseparerad lista med kolumner efter tabellnamnet. Kolumnlistan är valfri. Det är dock bra att inkludera kolumnlistan efter tabellnamnet.
  • För det tredje, lägg till en kommaseparerad lista med värden efter VALUES nyckelord. Om du utelämnar kolumnlistan måste du ange värden för alla kolumner i värdelistan. Antalet värden i värdelistan måste vara detsamma som antalet kolumner i kolumnlistan.

Vi kommer att använda artists tabell i exempeldatabasen för demonstrationen.

Följande sats infogar en ny rad i artists tabell:

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

Prova det

Eftersom ArtistId kolumn är en kolumn för automatisk ökning, du kan ignorera den i uttalandet. SQLite genererar automatiskt ett sekventiellt heltal att infoga i ArtistId kolumn.

Du kan verifiera infogningen genom att använda följande SELECT uttalande:

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

Prova det

Som du ser har vi en ny rad i artists bord.

SQLite INSERT – Infoga flera rader i en tabell

För att infoga flera rader i en tabell använder du följande form av INSERT uttalande:

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

Varje värdelista följer VALUES sats är en rad som kommer att infogas i tabellen.

Följande exempel infogar tre rader i artists tabell:

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

Prova det

SQLite skickade ett meddelande:

Row Affected: 3

Du kan verifiera resultatet med följande påstående:

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

Prova det

SQLite INSERT – Infoga standardvärden

När du skapar en ny tabell med CREATE TABLE kan du ange standardvärden för kolumner eller en NULL om ett standardvärde inte anges.

Den tredje formen av INSERT satsen är INSERT DEFAULT VALUES , som infogar en ny rad i en tabell med standardvärdena som anges i kolumndefinitionen eller NULL om standardvärdet inte är tillgängligt och kolumnen inte har en NOT NULL begränsning.

Till exempel, följande sats infogar en ny rad i artists tabell med INSERT DEFAULT VALUES :

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

Prova det

För att verifiera infogningen använder du följande uttalande:

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

Prova det

Standardvärdet för ArtistId kolumnen är nästa sekventiella heltal. Men name kolumnen har inget standardvärde, därför INSERT DEFAULT VALUES sats infogar NULL in i det.

SQLite INSERT – Infoga nya rader med data som tillhandahålls av en SELECT uttalande

Anta att du vill säkerhetskopiera artists tabell kan du följa dessa steg:

Skapa först en ny tabell med namnet artists_backup enligt följande:

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

Prova det

För att infoga data i artists_backup tabell med data från artists tabell använder du INSERT INTO SELECT uttalande enligt följande:

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

Prova det

Om du frågar efter data från artists_backup tabell, kommer du att se all data i artists bord.

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

Prova det

I den här handledningen har du lärt dig hur du använder olika former av SQLite INSERT uttalande som infogar nya rader i en tabell.

Referenser

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

  1. 4 sätt att hitta rader som innehåller små bokstäver i MariaDB

  2. Få aktuell lokal tid för alla länder i PL/SQL

  3. Hur man skickar strängarray i SQL-parameter till IN-sats i SQL

  4. Kartläggning av lokala säkerhetskontroller kontra stora molnleverantörer – Version 4.0