Samenvatting :in deze tutorial leer je hoe je SQLite INSERT
. gebruikt statement om nieuwe rijen in een tabel in te voegen.
Om gegevens in een tabel in te voegen, gebruikt u de INSERT
uitspraak. SQLite biedt verschillende vormen van de INSERT
instructies waarmee u een enkele rij, meerdere rijen en standaardwaarden in een tabel kunt invoegen.
Bovendien kunt u een rij in een tabel invoegen met behulp van gegevens die worden geleverd door een SELECT
verklaring.
SQLite INSERT
– een enkele rij invoegen in een tabel
Om een enkele rij in een tabel in te voegen, gebruikt u de volgende vorm van de INSERT
verklaring:
INSERT INTO table (column1,column2 ,..)
VALUES( value1, value2 ,...);
Code language: SQL (Structured Query Language) (sql)
Laten we eens kijken naar de INSERT
verklaring in meer detail:
- Geef eerst de naam op van de tabel waarin u gegevens wilt invoegen na de
INSERT INTO
trefwoorden. - Ten tweede, voeg een door komma's gescheiden lijst met kolommen toe na de tabelnaam. De kolomlijst is optioneel. Het is echter een goede gewoonte om de kolomlijst achter de tabelnaam op te nemen.
- Ten derde, voeg een door komma's gescheiden lijst met waarden toe na de
VALUES
trefwoord. Als u de kolomlijst weglaat, moet u waarden opgeven voor alle kolommen in de invoerlijst. Het aantal waarden in de lijst met waarden moet gelijk zijn aan het aantal kolommen in de lijst met kolommen.
We gebruiken de artists
tabel in de voorbeelddatabase voor de demonstratie.
De volgende instructie voegt een nieuwe rij toe aan de artists
tafel:
INSERT INTO artists (name)
VALUES('Bud Powell');
Code language: SQL (Structured Query Language) (sql)
Probeer het
Omdat de ArtistId
column een auto-increment kolom is, kunt u deze negeren in de instructie. SQLite genereert automatisch een opeenvolgend geheel getal om in te voegen in de ArtistId
kolom.
U kunt de invoegbewerking verifiëren met behulp van de volgende SELECT
verklaring:
SELECT
ArtistId,
Name
FROM
Artists
ORDER BY
ArtistId DESC
LIMIT 1;
Code language: SQL (Structured Query Language) (sql)
Probeer het
Zoals je ziet, hebben we een nieuwe rij in de artists
tafel.
SQLite INSERT
– Meerdere rijen in een tabel invoegen
Om meerdere rijen in een tabel in te voegen, gebruikt u de volgende vorm van de INSERT
verklaring:
INSERT INTO table1 (column1,column2 ,..)
VALUES
(value1,value2 ,...),
(value1,value2 ,...),
...
(value1,value2 ,...);
Code language: SQL (Structured Query Language) (sql)
Elke lijst met waarden na de VALUES
clausule is een rij die in de tabel wordt ingevoegd.
In het volgende voorbeeld worden drie rijen ingevoegd in de artists
tafel:
INSERT INTO artists (name)
VALUES
("Buddy Rich"),
("Candido"),
("Charlie Byrd");
Code language: SQL (Structured Query Language) (sql)
Probeer het
SQLite heeft een bericht uitgegeven:
Row Affected: 3
U kunt het resultaat verifiëren met de volgende verklaring:
SELECT
ArtistId,
Name
FROM
artists
ORDER BY
ArtistId DESC
LIMIT 3;
Code language: SQL (Structured Query Language) (sql)
Probeer het
SQLite INSERT
– Standaardwaarden invoegen
Wanneer u een nieuwe tabel maakt met de CREATE TABLE
statement, kunt u standaardwaarden voor kolommen opgeven, of een NULL
als er geen standaardwaarde is opgegeven.
De derde vorm van de INSERT
statement is INSERT DEFAULT VALUES
, waarmee een nieuwe rij in een tabel wordt ingevoegd met behulp van de standaardwaarden die zijn opgegeven in de kolomdefinitie of NULL
als de standaardwaarde niet beschikbaar is en de kolom geen NOT NULL
. heeft beperking.
De volgende instructie voegt bijvoorbeeld een nieuwe rij in de artists
tabel met behulp van INSERT DEFAULT VALUES
:
INSERT INTO artists DEFAULT VALUES;
Code language: SQL (Structured Query Language) (sql)
Probeer het
Om de invoeging te verifiëren, gebruikt u de volgende verklaring:
SELECT
ArtistId,
Name
FROM
artists
ORDER BY
ArtistId DESC;
Code language: SQL (Structured Query Language) (sql)
Probeer het
De standaardwaarde van de ArtistId
kolom is het volgende opeenvolgende gehele getal. Echter, de name
kolom heeft geen standaardwaarde, daarom is de INSERT DEFAULT VALUES
instructie voegt NULL
in erin.
SQLite INSERT
– Nieuwe rijen invoegen met gegevens geleverd door een SELECT
verklaring
Stel dat u een back-up wilt maken van de artists
tabel, kunt u deze stappen volgen:
Maak eerst een nieuwe tabel met de naam artists_backup
als volgt:
CREATE TABLE artists_backup(
ArtistId INTEGER PRIMARY KEY AUTOINCREMENT,
Name NVARCHAR
);
Code language: SQL (Structured Query Language) (sql)
Probeer het
Gegevens invoegen in de artists_backup
tabel met de gegevens van de artists
tabel, gebruik je de INSERT INTO SELECT
verklaring als volgt:
INSERT INTO artists_backup
SELECT ArtistId, Name
FROM artists;
Code language: SQL (Structured Query Language) (sql)
Probeer het
Als u gegevens opvraagt van de artists_backup
tabel ziet u alle gegevens in de artists
tafel.
SELECT * FROM artists_backup;
Code language: SQL (Structured Query Language) (sql)
Probeer het
In deze tutorial heb je geleerd hoe je verschillende vormen van SQLite INSERT
. kunt gebruiken instructie die nieuwe rijen in een tabel invoegt.
Referenties
- https://www.sqlite.org/lang_insert.html – SQLite INSERT-instructie