Часть 7.2: Команда INSERT в SQLite3. Оператор INSERT в SQLite3
В этой публикации мы посмотрим на синтаксис оператора INSERT в SQLite3 и разберем несколько примеров использования команды INSERT в SQLite3. А для тех, кто еще не знает, скажу, что команда INSERT используется для добавления новых строк в таблицы базы данных.
Библиотека SQLite3 позволяет нам добавлять новые строки в таблицы базы данных. Для добавления новых строк используется команда INSERT, эта команда есть в любой СУБД. Добавлять новые строки при помощи команды 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>