×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

При отключении обработки cookie наш сайт продолжит функционировать, однако будут использоваться исключительно необходимые технические файлы, без которых работа ресурса невозможна.

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

2.3.1. Вставка данных

Сразу после создания таблица не содержит данных. Прежде чем база данных станет пригодной для использования, в нее необходимо вставить данные. Данные вставляются по одной строке за одну операцию. Допускается вставка нескольких строк с помощью одной команды, однако невозможно вставить объект, не являющийся полной строкой. Даже если известны значения лишь некоторых столбцов, должна быть создана полноценная строка.

Для создания новой строки используется INSERT команда. Данная команда требует указания имени таблицы и значений столбцов. В качестве примера рассмотрим таблицу products из Глава 2.2:

CREATE TABLE products (
    product_no integer,
    name text,
    price numeric
);

Пример команды для вставки строки:

INSERT INTO products VALUES (1, 'Cheese', 9.99);

Значения данных перечисляются через запятую в порядке следования соответствующих им столбцов в таблице. Обычно в качестве значений данных используются литералы (константы), однако также допускается применение скалярных выражений.

Приведенный выше синтаксис обладает тем недостатком, что он требует знания порядка следования столбцов в таблице. Во избежание этого можно также перечислить столбцы в явном виде. Например, обе следующие команды приводят к тому же результату, что и команда, указанная выше:

INSERT INTO products (product_no, name, price) VALUES (1, 'Cheese', 9.99);
INSERT INTO products (name, price, product_no) VALUES ('Cheese', 9.99, 1);

Многие пользователи считают целесообразным всегда явно указывать имена столбцов.

Если значения указаны не для всех столбцов, некоторые из них можно опустить. В этом случае столбцы будут заполнены соответствующими значениями по умолчанию. Например:

INSERT INTO products (product_no, name) VALUES (1, 'Cheese');
INSERT INTO products VALUES (1, 'Cheese');

Вторая форма команды является Digital Q.DataBase расширением. Данная форма заполняет столбцы слева предоставленным количеством значений, а для остальных столбцов устанавливаются значения по умолчанию.

Для обеспечения наглядности можно также явно указать использование значений по умолчанию для отдельных столбцов или для всей строки:

INSERT INTO products (product_no, name, price) VALUES (1, 'Cheese', DEFAULT);
INSERT INTO products DEFAULT VALUES;

С помощью одной команды можно выполнить вставку нескольких строк:

INSERT INTO products (product_no, name, price) VALUES
    (1, 'Cheese', 9.99),
    (2, 'Bread', 1.99),
    (3, 'Milk', 2.99);

Также допускается вставка результата запроса (который может возвращать ноль, одну или несколько строк):

INSERT INTO products (product_no, name, price)
  SELECT product_no, name, price FROM new_products
    WHERE release_date = 'today';

Это позволяет задействовать все функциональные возможности механизма SQL-запросов (Глава 2.4) для формирования набора вставляемых строк.

Подсказка

Для одновременной вставки большого объема данных рекомендуется использовать команду COPY . Данная команда не обладает такой гибкостью, как команда INSERT , однако она более эффективна. Обратитесь к разделу Раздел 2.11.4 для получения подробных сведений об оптимизации производительности массовой загрузки данных.

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению