SQLite
 sql >> база данни >  >> RDS >> SQLite

Вмъкване на SQLite

Резюме :в този урок ще научите как да използвате SQLite INSERT оператор за вмъкване на нови редове в таблица.

За да вмъкнете данни в таблица, използвате INSERT изявление. SQLite предоставя различни форми на INSERT изрази, които ви позволяват да вмъкнете един ред, няколко реда и стойности по подразбиране в таблица.

Освен това можете да вмъкнете ред в таблица, като използвате данни, предоставени от SELECT изявление.

SQLite INSERT – вмъкване на един ред в таблица

За да вмъкнете един ред в таблица, използвате следната форма на INSERT изявление:

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

Нека разгледаме INSERT изявление по-подробно:

  • Първо посочете името на таблицата, в която искате да вмъкнете данни след INSERT INTO ключови думи.
  • Второ, добавете разделен със запетая списък с колони след името на таблицата. Списъкът с колони е по избор. Въпреки това е добра практика да включите списъка с колони след името на таблицата.
  • Трето, добавете разделен със запетая списък със стойности след VALUES ключова дума. Ако пропуснете списъка с колони, трябва да посочите стойности за всички колони в списъка със стойности. Броят на стойностите в списъка със стойности трябва да е същият като броя на колоните в списъка с колони.

Ще използваме artists таблица в примерната база данни за демонстрацията.

Следното изявление вмъква нов ред в artists таблица:

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

Опитайте го

Тъй като ArtistId колоната е колона с автоматично увеличение, можете да я игнорирате в изявлението. SQLite автоматично генерира последователно цяло число за вмъкване в ArtistId колона.

Можете да проверите операцията за вмъкване, като използвате следния SELECT изявление:

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

Опитайте го

Както виждате, имаме нов ред в artists таблица.

SQLite INSERT – Вмъкване на няколко реда в таблица

За да вмъкнете няколко реда в таблица, използвате следната форма на INSERT изявление:

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

Всеки списък със стойности следва VALUES клаузата е ред, който ще бъде вмъкнат в таблицата.

Следващият пример вмъква три реда в artists таблица:

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

Опитайте го

SQLite издаде съобщение:

Row Affected: 3

Можете да проверите резултата, като използвате следното изявление:

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

Опитайте го

SQLite INSERT – Вмъкване на стойности по подразбиране

Когато създавате нова таблица с помощта на CREATE TABLE израз, можете да посочите стойности по подразбиране за колони или NULL ако не е посочена стойност по подразбиране.

Третата форма на INSERT изразът е INSERT DEFAULT VALUES , който вмъква нов ред в таблица, използвайки стойностите по подразбиране, посочени в дефиницията на колоната или NULL ако стойността по подразбиране не е налична и колоната няма NOT NULL ограничение.

Например, следният израз вмъква нов ред в artists таблица с помощта на INSERT DEFAULT VALUES :

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

Опитайте го

За да проверите вмъкването, използвате следното изявление:

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

Опитайте го

Стойността по подразбиране на ArtistId колоната е следващото последователно цяло число. Въпреки това, name колоната няма стойност по подразбиране, следователно INSERT DEFAULT VALUES оператор вмъква NULL в него.

SQLite INSERT – Вмъкване на нови редове с данни, предоставени от SELECT изявление

Да предположим, че искате да архивирате artists таблица, можете да следвате тези стъпки:

Първо създайте нова таблица с име artists_backup както следва:

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

Опитайте го

За да вмъкнете данни в artists_backup таблица с данните от artists таблица, използвате INSERT INTO SELECT изявление, както следва:

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

Опитайте го

Ако заявите данни от artists_backup таблица, ще видите всички данни в artists таблица.

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

Опитайте го

В този урок научихте как да използвате различни форми на SQLite INSERT израз, който вмъква нови редове в таблица.

Препратки

  • https://www.sqlite.org/lang_insert.html – SQLite INSERT израз

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Показване на данни в RecyclerView

  2. Конструкторът SQLiteOpenHelper() е недефиниран

  3. Как работи SQLite Nullif().

  4. Android:Как да импортирам контакт от телефона?

  5. Как да четете и актуализирате база данни SQLite с помощта на ListView в Android?