Команды
January 3, 2022

Часть 7.2: Команда INSERT в SQLite3. Оператор INSERT в SQLite3

Команда INSERT в SQLite3. Оператор INSERT в SQLite3

В этой публикации мы посмотрим на синтаксис оператора INSERT в SQLite3 и разберем несколько примеров использования команды INSERT в SQLite3. А для тех, кто еще не знает, скажу, что команда INSERT используется для добавления новых строк в таблицы базы данных.

Библиотека SQLite3 позволяет нам добавлять новые строки в таблицы базы данных. Для добавления новых строк используется команда INSERT, эта команда есть в любой СУБД. Добавлять новые строки при помощи команды INSERT в SQLite3 можно только в таблицы базы данных. Ниже вы сможете увидеть синтаксис команды INSERT в SQLite3.

Синтаксис команды INSERT в SQLite3. Синтаксис оператора INSERT в SQLite3

Как видите, синтаксис довольно простой: сначала мы говорим СУБД, что хотим добавить строки при помощи ключевого слова INSERT, затем мы указываем в какую таблицу хотим добавить строку при помощи ключевого слова INTO, затем мы указываем имя таблицы и список столбцов, в которые нужно записать новые значения, а затем, при помощи ключевого слова VALUES мы указываем значения через запятую. В принципе, синтаксис оператора INSERT в SQLite не сложный и его легко запомнить.

Примеры использования команды SELECTв SQLite3
Давайте посмотрим несколько примеров использования команды INSERT в SQLite3.

-- Создадимпростуютаблицу
CREATETABLEtable1 (a, b,c,d);

-- Добавим несколько значений в таблицу table1 при помощи команды INSERT
INSERT INTO table1  (a, b, c, d)
VALUES (1, 'Петров', 'Русский', 24);

INSERT INTO table1  (a, b, c, d)
VALUES (2, 'Нурутдинов', 'Татарин', 28);

INSERT INTO table1  (a, b, c, d)
VALUES (3, 'Иванько', 'Украинец', 31);

INSERT INTO table1  (a, b, c, d)
VALUES (4, 'Горлукович', 'Белорус', 18);

Результат добавления новых строк в таблицу можно проверить при помощи команды SELECT, давайте сделаем это.

-- Выведем таблицу table1 на экран при помощи команды SELECT
SELECT * FROM table1;

В результате мы увидим следующее:

sqlite> SELECT * FROM table1;

a       b               c           d

1       Петров          Русский     24
2       Нурутдинов      Татарин     28
3       Иванько         Украинец    31
4       Горлукович      Белорус     18

sqlite>

Но при помощи оператора INSERT в SQLite3 можно добавлять данные, не указывая столбцы, в которые данные будут добавляться, давайте посмотрим.

-- Добавление данных в таблицу при помощи INSERTбез указания столбцов
INSERT INTO table1  VALUES (5, 'Сейтаридис', 'Грек', 48);

-- Проверим, что строка действительно была добавлена в таблицу
SELECT * FROM table1;

В результате после добавления новой строки наша таблица будет выглядеть так:

-- Создадим вторую таблицу с такой же структурой, как и у первой
CREATE TABLE table2(c1, с2, c3,с4);

-- Добавим во вторую таблицу данные из первой
-- при помощи команд INSERTи SELECT
INSERT INTO table2 (c1, с2, c3,с4)

SELECT a, b, c, d
FROM table1;

-- Проверим, что данные действительно были добавлены в таблицу
-- при помощи команды SELECT
SELECT * FROM table2;

Вторая таблица полностью дублирует первую, так как все данные были добавлены из первой таблицы:

sqlite>SELECT * FROMtable2;

c1      с2                 c3                с4

1       Петров           Русский             24
2       Нурутдинов       Татарин             28
3       Иванько          Украинец            31
4       Горлукович       Белорус             18
5       Сейтаридис       Грек                48

sqlite>