DB Logo

Database Design

by Rikky

Все категории нашего блога:

Основы баз данных (изображение статьи)

Основы баз данных

Проектирование БД простыми словами

Примеры баз данных (изображение статьи)

Примеры баз данных

Разбираем архитектуру БД на популярных примерах

Восстановление БД (изображение статьи)

Восстановление БД

Исправление частых ошибок без потери данных

Новости проекта (изображение статьи)

Новости проекта

Обновления, новые функции, и прочие события

Примеры SQL запросов (изображение статьи)

Примеры SQL запросов

Основы SQL простыми словами, операторы SQL

Как в SQL добавить строку в таблицу: запрос SQL INSERT INTO

Обучение SQL с примерами: как написать SQL команды, чтобы добавить данные в таблицу?

Объясняю как вставить данные в таблицу базы данных, простыми словами без воды. Команда INSERT INTO — это легко! Подойдёт для MySQL, PostgresQL, MS SQL, SQLite, Oracle, MariaDB и других SQL СУБД.

Команда INSERT в SQL используется для добавления новых строк в таблицу:

INSERT INTO названиеТаблицы 
  (поле1, поле2, поле3) 
VALUES
  (значение1, значение2, значение3);

Это буквально означает: «ВСТАВИТЬ в таблицу названиеТаблицы (перечисляем поля через запятую) ЗНАЧЕНИЯ (перечисляем значения через запятую)».

Обратите внимание, что значения должны идти в том же порядке, в котором идут поля, чтобы значения записались в нужные поля. Также количество полей и количество значений должно совпадать, иначе будет ошибка.

Например, если у нас есть таблица контактов contacts, и мы хотим добавить новую запись с полями name, website и telegram, наша команда будет выглядеть так:

INSERT INTO contacts 
  (name, website, telegram) 
VALUES
  ('Рик', 'fullstack-freelancer.ru', '@fullstackfreelancer');

Как одной командой INSERT вставить несколько строк в таблицу SQL?

SQL позволяет добавить несколько записей в таблицу с помощью одной команды INSERT. Это может быть полезно, когда необходимо быстро загрузить множество данных. Синтаксис будет следующим:

INSERT INTO названиеТаблицы 
  (поле1, поле2, поле3) 
VALUES 
  (значение1a, значение2a, значение3a),
  (значение1b, значение2b, значение3b),
  (значение1c, значение2c, значение3c);

То есть поля мы оставляем как есть, а после VALUES перечисляем необходимое количество добавляемых записей, и указываем для них значения полей, которые мы указали после INSERT INTO.

Если мы в запросе указали не все поля, которые есть в таблице, в добавленных записях эти поля будут содержать значения по умолчанию (настраиваются при создании таблицы). Если какие либо из этих не указанных полей обязательны к заполнению - SQL запрос завершится ошибкой.

Как вставить NULL значение в SQL при добавлении записи?

При добавлении данных в таблицу, если вы хотите оставить какое-либо поле пустым, вы можете использовать значение NULL для этого поля. Например, если поле website может быть незаполненным, команда будет выглядеть так:

INSERT INTO contacts 
  (name, website, telegram) 
VALUES 
  ('Рик', NULL, '@fullstackfreelancer');

Обратите внимание, что SQL-запрос завершится ошибкой, если у этого поля стоит флаг "NOT NULL" (настраивается при создании таблицы).

Как в SQL INSERT вставить данные из другой таблицы?

Команда INSERT может использоваться в сочетании с SELECT, чтобы добавлять данные из одной таблицы в другую. Это позволяет перемещать или копировать данные без необходимости вникать в их содержимое. Пример SQL-запроса добавления данных из одной таблицы в другую выглядит так:

INSERT INTO названиеЦелевойТаблицы 
  (поле1, поле2) 
SELECT 
  полеТаблицыИсточника1, полеТаблицыИсточника2 
FROM 
  названиеТаблицыИсточника 
WHERE
  условия;

Например, если у нас есть таблица old_users, и мы хотим скопировать всех пользователей старше 30 лет в новую таблицу new_users, команда будет следующей:

INSERT INTO new_users 
  (name, email) 
SELECT
  name, email 
FROM 
  old_users 
WHERE 
  age > 30;

Это особенно полезно для архивирования в базе данных и обработке больших объемов информации.

Обработка ошибок при вставке данных в SQL

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

SQL INSERT OR IGNORE - игнорирование добавления записей с дубликатами уникальных значений

Если запись с таким же уникальным значением уже существует, SQL игнорирует данное действие, чтобы избежать ошибки. Это полезно, когда вы хотите вставить данные, но не хотите, чтобы произошла ошибка из-за дубликатов значений.

Предположим, мы хотим вставить нового пользователя, но если такое значение уже добавлено для поля, которое отмечено уникальным (UNIQUE - настраивается при создании таблицы) - допустим в нашем примере это будет email, мы хотим просто пропустить вставку.

Пример использования SQL запроса INSERT OR IGNORE INTO:

INSERT OR IGNORE INTO users 
  (name, email)
VALUES 
  ('Рик', 'contact@fullstack-freelancer.com');

В этом случае, если пользователь с email contact@fullstack-freelancer.com уже существует в таблице, команда INSERT OR IGNORE просто проигнорирует эту попытку вставки и не вызовет ошибку. Если же пользователя с указанным email не существует, то он будет успешно добавлен в таблицу users.

Как в SQL либо добавить новую запись либо отредактировать существующую? INSERT ON DUPLICATE KEY UPDATE

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

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

Пример использования SQL запроса INSERT ON DUPLICATE KEY UPDATE:

INSERT INTO users (
  id, 
  name, 
  email
) VALUES (
  1, 
  'Рик', 
  'contact@fullstack-freelancer.com'
) ON DUPLICATE KEY UPDATE 
  name = 'Рик', 
  email = 'contact@fullstack-freelancer.com';

Этот код добавляет нового пользователя, если id 1 не существует, или обновляет имя и email, если пользователь с таким id уже есть.

А где можно спроектировать базу данных?

Попробуйте воспользоваться новым визуальным конструктором под названием Database Design.

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

Рассмотрим как это выглядит:

Смотреть видео
Где можно спроектировать базу данных? В Database Design!

Схему из приложения Database Design в дальнейшем можно выгрузить в качестве SQL-дампа скачав его по ссылке.

Файл дампа может использоваться для воссоздания точной структуры реляционной БД в любой нормальной SQL-подобной системы управления базами данных (СУБД), например MySQL.

И даже код SQL-запросов не придётся для этого писать!

Работать в Database Design —
одно удовольствие!

Подойдёт как профессионалам
так и студентам для организации хранения и анализа а также наглядного представления моделей бд своих проектов.

В Database Design можно работать из браузера с любого устройства, даже со смартфона, скачивать и устанавливать ничего не нужно!

Перейти к конструктору
Database Design

Другие статьи
и новости проекта:

Как в SQL удалить данные из таблицы: запрос SQL DELETE FROM WHERE

Как в SQL удалить данные из таблицы: запрос SQL DELETE FROM WHERE

Примеры SQL запросов

Обучение SQL с примерами: как написать SQL команды, чтобы удалить строку из таблицы базы данных? Объясняю удаление строк SQL, как удалить запись SQL, простыми словами без воды. Запрос DELETE FROM WHERE это легко! Подойдёт для MySQL, PostgresQL, MS SQL, SQLite, Oracle, MariaDB и др. SQL СУБД. читать статью

Как в SQL изменить данные в записи таблицы: запрос SQL UPDATE

Как в SQL изменить данные в записи таблицы: запрос SQL UPDATE

Примеры SQL запросов

Обновление SQL записей, как написать SQL команды, чтобы изменить строку в таблице? Объясняю как редактировать данные в кортеже базы данных SQL, простыми словами без воды. Команда UPDATE SET это легко! Подойдёт для MySQL, PostgresQL, MS SQL, SQLite, Oracle, MariaDB и других SQL СУБД. читать статью

Как в SQL добавить строку в таблицу: запрос SQL INSERT INTO

Как в SQL добавить строку в таблицу: запрос SQL INSERT INTO

Примеры SQL запросов

Обучение SQL с примерами: как написать SQL команды, чтобы добавить данные в таблицу? Объясняю как вставить данные в таблицу базы данных, простыми словами без воды. Команда INSERT INTO — это легко! Подойдёт для MySQL, PostgresQL, MS SQL, SQLite, Oracle, MariaDB и других SQL СУБД. читать статью

Как в SQL получить данные из таблицы: запрос SQL SELECT FROM WHERE

Как в SQL получить данные из таблицы: запрос SQL SELECT FROM WHERE

Примеры SQL запросов

Обучение SQL с примерами: как написать SQL команды, чтобы получить данные из базы данных? Объясняю как достать информацию из базы данных, простыми словами без воды. Команда SELECT FROM WHERE это легко! Подойдёт для MySQL, PostgresQL, MS SQL, SQLite, Oracle, MariaDB и других SQL СУБД. читать статью

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

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

Новости проекта

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

Добавлено: удобный выбор таблицы и столбца для связи, возможность переключаться между тёмной и светлой темами, и 2FA-авторизация

Добавлено: удобный выбор таблицы и столбца для связи, возможность переключаться между тёмной и светлой темами, и 2FA-авторизация

Новости проекта

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

Реляционные базы данных это одна из составляющих практически любого IT-проекта. В чём суть баз данных? Для чего они нужны?

Реляционные базы данных это одна из составляющих практически любого IT-проекта. В чём суть баз данных? Для чего они нужны?

Основы баз данных

Зачем нужна база данных, что такое база данных с программной точки зрения, структура данных в базе, что значит «реляционные», и наконец почему стоит очень ответственно подойти к этапу проектирования базы данных читать статью

Основы проектирования БД: как создать связь «один к одному» (1:1) и когда нужен этот тип связи, простыми словами на примере

Основы проектирования БД: как создать связь «один к одному» (1:1) и когда нужен этот тип связи, простыми словами на примере

Основы баз данных

Уроки по реляционным базам данных, обучение базам данных онлайн. Как создать связь «многие ко многим» (М:М) и когда нужен этот тип связи. Изучение структуры реляционных баз данных с примерами SQL-запросов читать статью

Добавлены типы данных, расширенные настройки и экспорт FOREIGN, и переключение чувствительности мышки и тачпада

Добавлены типы данных, расширенные настройки и экспорт FOREIGN, и переключение чувствительности мышки и тачпада

Новости проекта

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

Основы проектирования БД: как создать связь «многие ко многим» (М:М) и когда нужен этот тип связи, простыми словами на примере

Основы проектирования БД: как создать связь «многие ко многим» (М:М) и когда нужен этот тип связи, простыми словами на примере

Основы баз данных

Уроки по реляционным базам данных, обучение базам данных онлайн. Как создать связь «многие ко многим» (М:М) и когда нужен этот тип связи. Изучение структуры реляционных баз данных с примерами SQL-запросов читать статью

Добавлены настройки общего доступа!

Добавлены настройки общего доступа!

Новости проекта

Поделиться схемой базы данных с командой или заказчиками теперь стало возможно! Все будут в восторге от того, в каком виде вы предоставили схему базы данных, и это уже проверено! читать статью

Основы проектирования БД: нормализация данных простыми словами, для чего нужны связи в реляционной БД, связь «один ко многим»

Основы проектирования БД: нормализация данных простыми словами, для чего нужны связи в реляционной БД, связь «один ко многим»

Основы баз данных

Уроки по реляционным базам данных, обучение базам данных онлайн. Связь one-to-many она же «‎один ко многим» (1:М), объясняю на примерах, простыми словами. читать статью

Не запускается MySQL: Ошибка MySQL Shutdown Unexpectedly

Не запускается MySQL: Ошибка MySQL Shutdown Unexpectedly

Восстановление БД

Всё работало как часы, и вдруг MySQL вылетает с ошибкой? Рассказываю как устранить проблему без потери данных читать статью