Добавление новых данных в таблицу
Следующий шаг — использование данных. Очевидно, что сначала надо поместить данные в наши таблицы, чтобы иметь возможность работать с ними далее.
Для добавления данных (вставка строк таблицы) применяется команда INSERT, куда указывается имя таблицы, список столбцов, в которые добавляются данные и, конечно, сами данные:
INSERT INTO 'Имя Таблицы' [('Столбец 1', 'Столбец 2', 'Столбец 3', 'Столбец N')] VALUES ('Значение 1', 'Значение 2', 'Значение 3', 'Значение N'); |
Вставка одной строки
Рассмотрим, как вставляется одна строка в таблицу курсов:
INSERT INTO courses (id, name, lessons_amount) VALUES (1, 'Базы данных', 12); |
Обратите внимание, что строковые значения мы записываем в кавычках.
Если данные вставляются во все столбцы таблицы, то в команде INSERT имена столбцов не перечисляются. В этом случае команда выглядит так:
INSERT INTO courses VALUES (1, 'Базы данных', 12); |
Вспомним, что столбец первичного ключа id имеет признак автоинкремента (AUTOINCREMENT), поэтому вставлять значение для id явным образом необязательно:
INSERT INTO courses (name, lessons_amount) VALUES ('Базы данных', 12); |
Выполним последний вариант команды и проверим результат выборкой SELECT:
sqlite> INSERT INTO courses (name, lessons_amount) VALUES ('Базы данных', 12); sqlite> SELECT * FROM courses; 1|Базы данных|12 sqlite> |
Мы видим, что данные успешно добавлены в таблицу.
Вставка нескольких строк
Есть возможность вставлять сразу несколько строк. В этом случае перечислим добавляемые данные для каждой строки через запятую. Добавим остальные данные таким способом:
INSERT INTO courses (name, lessons_amount) VALUES ('Linux. Рабочая станция', 8), ('Основы Python', 8); |
Обратите внимание, что мы перенесли эту команду на несколько строк. Это возможно и даже рекомендуется делать, чтобы код команды выглядел структурированным и его было проще анализировать. Нет единственно верного способа форматировать код команд SQL, но есть рекомендации, как это сделать. Пример таких рекомендаций — здесь.
Выбор окончательного варианта оформления кода — за вами. Но если вы начинаете работать над уже существующим проектом, то требуется придерживаться уже применяемого стиля. Стремитесь к тому, чтобы ваш код SQL выглядел понятным и структурированным.
Выполним команду и проверим результат:
sqlite> INSERT INTO courses (name, lessons_amount) VALUES ...> ('Linux. Рабочая станция', 8), ...> ('Основы Python', 8); sqlite> SELECT * FROM courses; 1|Базы данных|12 2|Linux. Рабочая станция|8 3|Основы Python|8 sqlite> |