sql >> Databasteknik >  >> RDS >> SQLite

SQLite - Infoga data

För att infoga data i en SQLite-databas, använd INSERT uttalande.

När du använder den här satsen anger du vilka kolumner du vill infoga data i, samt vilka data som ska infogas. INSERT sats lägger till en ny rad i tabellen med angivna data.

Låt oss lägga till en rad med data till våra Artister bord.

Kör följande programsats:

INSERT INTO Artists (ArtistName)
VALUES ('Joe Satriani');

Verifiera att data har infogats

Du kan köra en snabb SELECT uttalande för att kontrollera att data har infogats.

Mer om SELECT uttalande senare, men för nu, kör följande uttalande:

SELECT * FROM Artists;

Detta bör resultera i att följande visas:

sqlite> SELECT * FROM Artists;
1|Joe Satriani

En genväg

Det finns ett annat sätt att skriva SELECT uttalande som inte använder så mycket kod.

Du kan helt enkelt utelämna kolumnnamnen från uttalandet, och fälten kommer fortfarande att fyllas i.

Den här metoden kräver dock att du anger ett värde för alla kolumner.

Så här:

INSERT INTO Artists VALUES (NULL, 'Steve Vai');

Kör nu samma SELECT uttalandet returnerar följande:

sqlite> SELECT * FROM Artists;
1|Joe Satriani
2|Steve Vai

Om det primära nyckelfältet

Vid det här laget kanske du har märkt att ArtistId fältet får sitt värde automatiskt. I vår första INSERT , vi angav inget värde för den kolumnen. I vår andra INSERT vi tillhandahöll NULL som värdet.

Detta händer eftersom kolumnen är av typen INTEGER PRIMARY KEY . När en kolumn har tilldelats INTEGER PRIMARY KEY , detta är ett alias för ROWID . Med en ROWID , om ett värde inte tillhandahålls av INSERT sats, infogar SQLite automatiskt sitt eget heltal i det fältet.

Värdet för ROWID heltal är vanligtvis ett högre än det största ROWID används för tillfället. På en tom tabell kommer detta värde att börja på 1 .

Så slutresultatet är att om du inte anger ett värde för det fältet kommer SQLite att göra det.

Lägga till flera rader

Du kan använda så många INSERT uttalanden eftersom du behöver lägga till mer data.

INSERT INTO Artists VALUES (NULL, 'The Tea Party');
INSERT INTO Artists VALUES (NULL, 'Noiseworks');
INSERT INTO Artists VALUES (NULL, 'Wayne Jury');
INSERT INTO Artists VALUES (NULL, 'Mr Percival');
INSERT INTO Artists VALUES (NULL, 'Iron Maiden');
INSERT INTO Artists VALUES (NULL, 'Atmasphere');
INSERT INTO Artists VALUES (NULL, 'Ian Moss');
INSERT INTO Artists VALUES (NULL, 'Magnum');
INSERT INTO Artists VALUES (NULL, 'Strapping Young Lad');
INSERT INTO Artists VALUES (NULL, 'Slayer');
INSERT INTO Artists VALUES (NULL, 'Primus');
INSERT INTO Artists VALUES (NULL, 'Pat Metheny');
INSERT INTO Artists VALUES (NULL, 'Frank Gambale');
INSERT INTO Artists VALUES (NULL, 'Frank Zappa');
INSERT INTO Artists VALUES (NULL, 'The Wiggles');

Och nu vår SELECT uttalandet returnerar följande:

sqlite> SELECT * FROM Artists;
1|Joe Satriani
2|Steve Vai
3|The Tea Party
4|Noiseworks
5|Wayne Jury
6|Mr Percival
7|Iron Maiden
8|Atmasphere
9|Ian Moss
10|Magnum
11|Strapping Young Lad
12|Slayer
13|Primus
14|Pat Metheny
15|Frank Gambale
16|Frank Zappa
17|The Wiggles

Därefter ska vi titta närmare på hur vi väljer data från vår databas.


  1. IN vs ALLA operatör i PostgreSQL

  2. Dynamisk pivot i oracle sql

  3. EF4 - Den valda lagrade proceduren returnerar inga kolumner

  4. 2 funktioner för att få året från en dejt i Oracle