Как ввести данные в базу данных
Перейти к содержимому

Как ввести данные в базу данных

  • автор:

Способы добавления, изменения и удаления записей

Существует несколько способов обновления данных в базе данных Access. Вы можете добавить запись в базу данных при наличии нового элемента, для отслеживания, например, добавить новый контакт в таблицу «Контакты». При добавлении новой записи Access добавляет эту запись в конец таблицы. Вы также можете изменять поля, чтобы поддерживать их актуальность, например, новый адрес или фамилия. Для поддержания целостности данных поля в базе данных Access настроены для получения определенного типа данных, таких как текст или числа. Если вы введете неверный тип данных, Access отобразит сообщение об ошибке. Наконец, вы можете удалить запись, если необходимости в ней отпала, а также для экономии места.

Дополнительные сведения о настройке базы данных для ввода данных см. в статье Советы по оформлению для обновления данных.

В этой статье

  • Обновление данных с помощью формы или таблицы
  • Общие сведения о символах ввода данных
  • Добавление записи в таблицу или форму
  • Добавление записи
  • Удаление записи
  • Изменение данных в надписи или поле
  • Добавить дату с помощью средства выбора даты
  • Применение форматирования текста к данным в поле «Длинный текст»
  • Ввод текста в элементе управления с помощью маски ввода
  • Ввод данных с помощью списка
  • Ввод пустых строк
  • Отмена изменений

Обновление данных с помощью формы или таблицы

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

Форма с набором вкладок

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

Общие сведения о символах ввода данных

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

Это текущая запись; запись была сохранена в таком виде, как она отображается. Текущая запись выделяется изменением цвета в области маркировки.

Вы изменяете эту запись; изменения записи еще не сохранены.

Эта запись заблокирована другим пользователем; вы не можете ее изменить.

Это новая запись, в которую вы можете ввести данные.

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

Добавление записи в таблицу или форму

  1. Откройте таблицу в режиме таблицы или откройте форму в режиме формы.
  2. На вкладке Главная в группе Записи нажмите Создать, щелкните Создать (пустую) запись или нажмите клавиши Ctrl + знак «плюс» (+).
  3. Найдите запись со звездочкой в области маркировки и введите новые данные.
  4. Щелкните мышь или любым иным способом переместите фокус на первое поле, которое вы хотите использовать, а затем введите данные.
  5. Чтобы перейти к следующему полю в той же строке, нажмите клавишу TAB, используйте клавиши со стрелками вправо или влево или щелкните ячейку следующем поле. В таблице, чтобы перейти к следующей ячейке в столбце, используйте кнопки по стрелками вверх или вниз или щелкните ячейку, которая вам нужна.
  6. При просмотре другой записи или закрытии таблицы или формы Access сохраняет добавленную вами новую запись. Чтобы явным образом сохранить изменения в текущей записи, нажмите Shift+Enter.

Добавление записи

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

Использование кнопок навигации по записям

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

Элемент навигации

Кнопки со стрелками Нажмите, чтобы без труда перейти к первой, предыдущей, следующей или последней записи.

Новая (пустая) запись Нажмите, чтобы добавить запись.

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

Фильтр Кнопка индикатора фильтра показывает, был ли применен фильтр. Нажмите, чтобы отменить или повторно применить фильтр.

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

Использование диалогового окна Найти и заменить.

Диалоговое окно Найти и заменить представляет собой еще один способ изменения небольшого количества данных в минимальные сроки и с минимальными усилиями. Вы можете использовать функцию «Найти» в диалоговом окне Найти и заменить для поиска подходящей записи. Когда вы найдете совпадающую запись, данная запись становится текущей записью, и вы можете изменить или удалить ее.

  1. Выберите поле, для которого вы хотите выполнить поиск.
  2. На вкладке Главная в группе Найти нажмите кнопку Найти. Также можно нажать клавиши CTRL+F. Появится диалоговое окно Найти и заменить.
  3. Откройте вкладку Найти.
  4. В поле Найти что введите значение, которое вы хотите найти.
  5. Вы также можете воспользоваться списком Поиск в для изменения поле, в котором нужно выполнить поиск, или выполнить поиск по всей таблице.
  6. При необходимости в списке Совпадение выберите параметр С любой частью поля. Выбор данной опции обеспечит максимально широкую область поиска.
  7. В списке Поиск выберите вариант Всеи нажмите кнопку Найти далее.

Применение фильтра

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

  1. Откройте таблицу в режиме таблицы или откройте форму в режиме формы.
  2. Чтобы убедиться, что таблицы или формы еще не отфильтрованы, на вкладке Главная группы Сортировка и фильтр щелкните Дополнительно, а затем нажмите Очистить все фильтры, или щелкните Фильтр на панели навигации записей.
  3. Перейдите к записи, содержащей значение, которое вы хотите использовать в качестве фильтра, а затем нажмите поле. Для фильтрации по выделенному фрагменту значения выберите только нужные вам символы.
  4. На вкладке Главная в группе Сортировка и фильтр нажмите Выделение и щелкните правой кнопкой мыши на поле и примените фильтр.
  5. Чтобы отфильтровать другие поля по выделенному фрагменту, повторите шаги 3 и 4.

Удаление записи

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

  1. Откройте таблицу в режиме таблицы или откройте форму в режиме формы.
  2. Во-первых, выберите запись или записи, которые вы хотите удалить. Чтобы выбрать запись, щелкните область маркировки записи рядом с ней, если область маркировки записи доступна. Чтобы увеличить или уменьшить выделенный фрагмент, перетащите область маркировки (если есть такая возможность) или нажмите клавиши SHIFT + СТРЕЛКА ВНИЗ или SHIFT + СТРЕЛКА ВВЕРХ.
  3. Нажмите клавишу DELETE, выберите Главная >Записи >Удалить или нажмите клавиши Ctrl + знак минус (-).

Совет. Если вам нужно удалить только некоторые сведения, но не всю запись, выделите только нужные данные в каждом поле, которые вы хотите удалить, и нажмите клавишу DELETE.

Изменение данных в надписи или поле

Access содержит один элемента управления текстом для использования с полями с коротким текстом и длинным текстом (также называется «Memo»). Как правило, вы можете понять, когда соответствующее поле содержит короткий или длинный текст, по размеру элемента управления, который обычно отражает размер, необходимый для поля таблицы. Поле короткого текста может содержать до 255 знаков, а в поле длинного текста может храниться до 64 000 символов.

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

  1. Откройте таблицу или запрос в режиме таблицы или форму в режиме формы.
  2. Щелкните поле, или перейдите к полю с помощью клавиши TAB или клавиш со стрелками, а затем нажмите клавишу F2. В представлении формы вы можете щелкнуть метку поля, чтобы выбрать поле. В режиме таблицы можно выбрать поле, щелкнув рядом с левой границей поля, когда указатель мыши примет вид знак плюса (+).
  3. Установите курсор туда, куда вы хотите ввести информацию.
  4. Введите или измените текст, который вы хотите вставить. Если вы ошиблись при вводе текста, нажмите клавишу BACKSPACE.
  5. Если поле содержит маску ввода, введите данные в соответствии с форматом.
  6. Вы сможете повысить свою продуктивность с помощью указанных ниже сочетаний клавиш:
    • Чтобы вставить новую строку в текстовое поле, нажмите клавиши Ctrl+Enter.
    • Чтобы вставить значение по умолчанию для поля, нажмите клавиши Ctrl + Alt + Пробел.
    • Чтобы вставить текущую дату, нажмите клавиши CTRL+; (точка с запятой).
    • Чтобы вставить текущее время, нажмите клавиши CTRL+SHIFT+: (двоеточие).
    • Чтобы проверить орфографию, нажмите клавишу F7.
    • Чтобы повторно использовать похожие значения предыдущей записи, перейдите в соответствующее поле в предыдущей записи, а затем нажмите клавиши CTRL +’ (апостроф).
    • Чтобы явным образом сохранить изменения, нажмите Shift+Enter.

Дополнительные сведения см. в статье Сочетания клавиш в Access.

Добавить дату с помощью средства выбора даты

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

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

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

Ввод текста в элементе управления с помощью маски ввода

Поле может иметь примененную маску ввода. Маска ввода — это набор литеральных символов и заполнителей, которые требуют ввода данных в определенном формате. Дополнительные сведения о масках ввода см. в статье Управление форматами ввода данных с помощью маски ввода.

Маска ввода для номеров телефонов

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

Применение форматирования текста к данным в поле «Длинный текст»

Если поле длинного текста (также известное как поле Memo) поддерживает расширенное форматирование текста, различные шрифты, размеры, стили и цвета можно применить к данному тексту.

  1. Откройте форму в режиме формы или откройте таблицу в режиме формы.
  2. Выберите поле длинного текста. Как правило, вы можете выполнить поиск поля с именем «Примечания» «Заметки» или «Описание».
  3. На вкладке Главная в группе Форматирование текста вы можете отформатировать текст с помощью кнопок и меню.

Команды в группе

Вы можете применять различные шрифты и размеры, делать текст полужирным или шрифтом, изменять цвета и так далее.

Ввод данных с помощью списка

Списки помогают поддерживать целостность данных и просты в использовании. Вы можете использовать списки в формах, а также в таблицах и запросах. В Access есть три типа списков: списки значений, поля подытогов и многоуровневые списки. В списках значений отображается набор элементов, которые вы вводите вручную. Для извлечения данных из одного или других наборов результатов таблицы в представлении таблицы используется запрос. Многоуровневые списки решают общие бизнес-требования — связи «многие ко многим». Например, вам может потребоваться отслеживать проблемы службы поддержки клиентов и назначить нескольким людям одну и ту же проблему в одном поле.

Существует три типа элементов управления списками:

Поле со списком

Поле со полем со полем со множествой из нескольких полей

Ввод элемента из поле со списком

  1. Откройте форму в режиме формы или таблицу или запрос в режиме таблицы.
  2. Щелкните стрелку вниз рядом со списком и выберите элемент, который вам нужен.
  3. Для фиксации вашего выбора для базы данных, установите курсор на другое поле или нажмите клавиши Shift+ Enter.

Ввод элемента из списка

  1. Откройте форму в режиме формы.
  2. Прокрутите вниз список элементов в поле со списком и выберите элемент, который вам нужен.
  3. Для фиксации вашего выбора для базы данных, установите курсор на другое поле или нажмите клавиши Shift+ Enter.

Ввод элементов из многоуровневого списка в поле со списком multiselect

  1. Откройте форму в режиме формы или таблицу или запрос в режиме таблицы.
  2. Щелкните стрелку вниз рядом со списком.
  3. Выберите до 100 элементов и нажмите кнопку ОК.

Изменение элементов в списке

Чтобы изменить элементы в списке, список должен поддерживать редактирование. Дополнительные сведения см. в вопросах разработки, которые следует учитывать при обновлении данных.

  1. Откройте форму, таблицу или набор результатов запроса, которые содержат список.
  2. Выполните одно из следующих действий:
    • Щелкните правой кнопкой мыши на списке, который требуется изменить, а затем нажмите кнопку Изменить элементы списка.
    • Щелкните список и нажмите эту кнопку, чтобы открыть диалоговое окно или форму «Изменение элементов списка».
  3. Экран, который вы видите, зависит от типа списка, который вы хотите изменить. Выполните одно из указанных ниже действий.
    • Если вы редактируете список значений или многоценное поле, используйте диалоговое окно «Изменение элементов списка» для изменения данных списка, сохраняя каждый элемент в отдельной строке, а затем нажмите кнопку «ОК» после завершения. Чтобы выбрать значение, используемое по умолчанию для новых записей, нажмите кнопку раскрывающегося списка для поля Значение по умолчанию, а затем выберите нужное значение.
    • Если вы изменяете поле подстановки, на экране отображается форма для ввода данных. Измените данные списка с помощью этой формы.
  4. Нажмите кнопку ОК.

Ввод пустых строк

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

  1. Откройте таблицу или запрос в режиме таблицы или форму в режиме формы
  2. Выберите нужное поле, а затем введите две двойные кавычки без пробела между ними («»).
  3. Для фиксации вашего выбора для базы данных, установите курсор на другое поле или нажмите клавиши Shift+ Enter. По умолчанию кавычки исчезнут.

Отмена изменений

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

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

Основные операции с данными

Для добавления данных в БД в MySQL используется команда INSERT , которая имеет следующий формальный синтаксис:

INSERT [INTO] имя_таблицы [(список_столбцов)] VALUES (значение1, значение2, . значениеN)

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

Например, пусть в базе данных productsdb есть следующая таблица Products:

CREATE DATABASE productsdb; USE productsdb; CREATE TABLE Products ( Id INT AUTO_INCREMENT PRIMARY KEY, ProductName VARCHAR(30) NOT NULL, Manufacturer VARCHAR(20) NOT NULL, ProductCount INT DEFAULT 0, Price DECIMAL NOT NULL );

Добавим в эту таблицу одну строку с помощью следующего кода:

INSERT Products(ProductName, Manufacturer, ProductCount, Price) VALUES ('iPhone X', 'Apple', 5, 76000);

В данно случае значения будут передаваться столбцам по позиции. То есть стобцу ProductName передается строка «iPhone X», столбцу Manufacturer — строка «Apple» и так далее.

Важно, чтобы между значениями и типами данных столбцов было соответствие. Так, столбец ProductName представляет тип varchar , то есть строку. Соответственно этому столбцу мы можем передать строковое значение в одинарных кавычках. А стобец ProductCount представляет тип int , то есть целое число, поэтому данному столбцу нужно передать целые числа, но никак не строки.

После удачного выполнения в MySQL Workbench в поле вывода должны появиться зеленый маркер и сообщение «1 row(s) affected»:

INSERT и добавление данных в MySQL

Необязательно при добавлении данных указывать значения абсолютно для всех столбцов таблицы. Например, в примере выше не указано значение для стобца Id. Но поскольку для данного столбца определен атрибут AUTO_INCREMENT , то его значение будет автоматически генерироваться.

Также мы можем опускать при добавлении такие столбцы, которые поддерживают значение NULL или для которых указано значение по умолчанию, то есть для них определены атрибуты NULL или DEFAULT . Так, в таблице Products столбец ProductCount имеет значение по умолчанию — число 0. Поэтому мы можем при добавлении опустить этот столбец, и ему будет передаваться число 0:

INSERT Products(ProductName, Manufacturer, Price) VALUES ('Galaxy S9', 'Samsung', 63000);

С помощью ключевых слов DEFAULT и NULL можно указать, что в качестве значения будет использовать значение по умолчанию или NULL соответственно:

INSERT Products(ProductName, Manufacturer, Price, ProductCount) VALUES ('Nokia 9', 'HDM Global', 41000, DEFAULT);
INSERT Products(ProductName, Manufacturer, Price, ProductCount) VALUES ('Nokia 9', 'HDM Global', 41000, NULL);

Множественное добавление

Также мы можем добавить сразу несколько строк:

INSERT Products(ProductName, Manufacturer, Price, ProductCount) VALUES ('iPhone 8', 'Apple', 51000, 3), ('P20 Lite', 'Huawei', 34000, 4), ('Galaxy S8', 'Samsung', 46000, 2);

В данном случае в таблицу будут добавлены три строки.

Как ввести данные в базу данных

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

При выборе опции Создать новую базу данных и пользователя появится запрос — потребуется указать расположение установки для параметра Каталог установки сервера Oracle (ORACLE_HOME) (Oracle Server Installation Directory (ORACLE_HOME)) .

Создать схему базы данных и загрузить данные базы данных

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

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

ПО базы данных
С помощью выпадающего списка выберите тип ПО базы данных для использования.
Конфигурация базы данных
Для Windows:
• Создать новую базу данных и пользователя
• Создать нового пользователя в существующей базе данных
• Настроить на существующего пользователя в существующей базе данных
• Создать нового пользователя в существующей базе данных
• Настроить на существующего пользователя в существующей базе данных
Выберите, использовать ли существующую базу данных или позволить процессу установки создать новую.

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

Если выбрать опцию Создать новую базу данных и пользователя , будет предложено ввести расположение для параметров Каталог установки SQL Server и Каталог установки клиента SQL Server .

Существует обязательная команда, которую необходимо выполнить после создания базы данных и перед ее использованием. Дополнительные сведения см. в разделе Требования InService к базе данных SQL .

Создать схему базы данных и загрузить данные базы данных

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

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

Конфигурирование базы данных Oracle

Введите информацию базы данных.
По умолчанию
*Зарегистрированное доменное имя хост-компьютера Oracle
Определяет полное имя компьютера сервера Oracle.
* Номер порта слушателя базы данных:
Определяет номер порта, который прослушивается сервером Oracle.
*Глобальное имя базы данных (SID) или имя службы:

Определяет наименование системного идентификатора базы данных Oracle, которое присваивается базе данных при ее создании. Обозначение не может содержать больше 8 буквенно-цифровых символов и не должно начинаться с цифры. Для существующих баз данных следует использовать имя службы базы данных.

Пароль учетной записи SYSTEM:

При создании базы данных укажите пароль, который будет использоваться для базы данных пользователем с правами администратора (SYSTEM, SYS).

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

Префикс для сгенерированных учетных данных

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

Учетные данные для доступа к базе данных

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

Insert в MySQL — добавление данных в таблицу

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

Зачем нужна команда Insert

Команда INSERT используется для того, чтобы вставлять новые данные в таблицы. Общий и наиболее часто используемый синтаксис выглядит так:

INSERT into table_name [(column1, [, column2] . )] values (values_list) 

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

Создаем базу MySQL в облаке

Прежде чем начать работать с командой Insert, нам нужна база данных MySQL. Чтобы не заниматься долгой установкой и настройкой, мы создадим управляемую БД на платформе Selectel. Если сервер MySQL у вас уже установлен, можете сразу переходить к следующему разделу.

Заходим в личный кабинет, в разделе «Облачная платформа» переходим к «Базам данных». Нажимаем кнопку «Создать кластер».

Создание базы данных в панели Selectel

На следующем экране выбираем параметры новой базы. Выбираем «СУБД» — MySQL. Далее необходимо выбрать конфигурацию сервера: нам будет достаточно 2 vCPU, 4 ГБ оперативной памяти и 32 ГБ диска. Обратите внимание на раздел «Сеть» — у вас должна быть выбрана публичная сеть, чтобы к базе данных можно было подключиться из интернета. Остальные параметры можно оставить по умолчанию.

Конфигурация для нового кластера БД

Немного подождем, пока сервер создается. Когда он перейдет в статус ACTIVE, выберите его и зайдите в раздел настроек. Сначала перейдем на вкладку «Пользователи» и создадим нового пользователя, который сможет подключаться к базе данных. Не забудьте записать имя пользователя и пароль, они будут нужны для подключения.

Создание пользователя

Затем перейдем на следующую вкладку — «Базы данных». Нам нужно создать базу, в которой мы будем работать. Для этого нажмем кнопку «Создать базу данных». Запишите название созданной БД, оно нам будет нужно для подключения.

Создание базы данных MySQL

Когда база создастся, нужно дать нашему пользователю права на нее. На этой же вкладке нажмем кнопку «Добавить» и выберем недавно созданного пользователя.

Добавление доступа к базе

Все, БД настроена и к ней можно подключаться. Чтобы узнать параметры подключения, перейдите на вкладку «Настройки» и там в самом низу в разделе «Подключение» указаны нужные параметры. Вы можете пользоваться консольным клиентом или любой графической утилитой. Мы будем показывать на примере консольного клиента, поэтому строка для подключения будет выглядеть вот так:

mysql --host=109.71.10.30 \ --port=6033 \ --user=chrystal \ --password \ --database=db 

После ввода этой команды консоль попросит нас ввести пароль. Вот и все, мы подключились к БД.

Структура таблиц для примеров

Все дальнейшие команды мы будем показывать на простом примере из трех таблиц. Допустим, мы — сеть фруктовых магазинов. У нас есть таблица со списком магазинов, таблица со списком товаров (фруктов) и таблица, в которой мы записываем какой фрукт в каком магазине продается и по какой цене.

С помощью команды Insert мы будем вставлять в эти таблицы новые данные разными способами. Итак, вот описание наших таблиц и начальные данные в них:

+----+------------------+--------------+ | id | name | address | +----+------------------+--------------+ | 1 | Магазин 1 | Адрес 1 | | 2 | Магазин 2 | Адрес 2 | | 3 | Магазин 3 | Адрес 3 | +----+------------------+--------------+ 
+----+------------------+ | id | name | +----+------------------+ | 1 | Яблоко | | 2 | Мандарин | | 3 | Банан | +----+------------------+ 
  • sale, таблица наличия товаров и цены:
+----------+----------+-------+-------+ | store_id | fruit_id | price | count | +----------+----------+-------+-------+ | 1 | 3 | 60 | 20 | | 2 | 2 | 80 | 10 | | 3 | 1 | 120 | 12 | +----------+----------+-------+-------+ 

Пример 1: базовое использование команды INSERT

Начнем с самого простого использования команды INSERT в MySQL. Добавим новый фрукт в справочник фруктов. Команда будет выглядеть так:

INSERT INTO fruits VALUES (4, 'Апельсин'); 

Проверяем таблицу фруктов и видим, что появилась новая запись:

+----+------------------+ | id | name | +----+------------------+ | 1 | Яблоко | | 2 | Мандарин | | 3 | Банан | | 4 | Апельсин | +----+------------------+ 

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

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

INSERT INTO stores (id, name) VALUES (4, 'Магазин 4'); 

Обратите внимание, что в таблице stores у нас еще есть столбец с адресом, но мы его не указали. Посмотрим, что вставилось в таблицу:

+----+------------------+--------------+ | id | name | address | +----+------------------+--------------+ | 1 | Магазин 1 | Адрес 1 | | 2 | Магазин 2 | Адрес 2 | | 3 | Магазин 3 | Адрес 3 | | 4 | Магазин 4 | NULL | +----+------------------+--------------+ 

Мы видим указанные нами значения, а в поле address вставилось значение NULL.

Пример 2: вставка нескольких строк

За один запрос можно добавлять сразу несколько элементов. Например, мы хотим добавить три новых фрукта. Вместо того, чтобы писать три отдельных команды INSERT, мы воспользуемся вот таким способом записи:

INSERT INTO fruits VALUES (5, 'Киви'), (6, 'Виноград'), (7, 'Груша'); 

Посмотрим результат. Видим, что появилось сразу три новых записи:

+----+------------------+ | id | name | +----+------------------+ | 1 | Яблоко | | 2 | Мандарин | | 3 | Банан | | 4 | Апельсин | | 5 | Киви | | 6 | Виноград | | 7 | Груша | +----+------------------+ 

Пример 3: использование SET

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

INSERT INTO sale SET store_id=1, fruit_id=1, price=89, count=3; 

Проверим, что числа вставились именно в те столбцы, которые мы указали:

+----------+----------+--------+-------+ | store_id | fruit_id | price | count | +----------+----------+--------+-------+ | 1 | 3 | 60 | 20 | | 2 | 2 | 80 | 10 | | 3 | 1 | 120 | 12 | | 1 | 1 | 89 | 3 | +----------+----------+--------+-------+ 

Пример 4: вставка с выражением

Во всех предыдущих примерах мы указывали явное значение для столбца. Но в MySQL можно использовать арифметические выражения, например сумму, разность, умножение и так далее. Допустим, мы хотим добавить запись в таблицу sale о том что в магазине № 2 продаются апельсины по 137 рублей. Но потом мы решаем, что хотим сделать скидку 6%. Чтобы не высчитывать ее самим, мы можем использовать такой запрос:

INSERT INTO sale VALUES (2, 4, 137*0.94, 5); 

Мы умножаем 137 рублей на 0.94, это и есть скидка 6%. Проверим что у нас получилось:

+----------+----------+--------+-------+ | store_id | fruit_id | price | count | +----------+----------+--------+-------+ | 1 | 3 | 60 | 20 | | 2 | 2 | 80 | 10 | | 3 | 1 | 120 | 12 | | 1 | 1 | 89 | 3 | | 2 | 4 | 128.78 | 1 | +----------+----------+--------+-------+ 

Пример 5: вставка данных из другой таблицы

В качестве источника данных для вставки можно использовать другую таблицу. Предположим, у нас есть таблица fruits_new, где хранится список фруктов, которые мы заказали у поставщиков, но эти фрукты еще не продаются в наших магазинах. И вот наконец-то нам привезли два новых фрукта, которые мы так давно ждали. Но вместо того, чтобы переписывать эти названия в команду INSERT, мы можем просто использовать таблицу fruits_new и загружать данные из нее. Для этого нам понадобится оператор SELECT:

INSERT INTO fruits SELECT * FROM fruits_new WHERE >Обратите внимание, что мы не указываем названия столбцов: из какого взять и в какой вносить. Поэтому такой способ подойдет только если структура таблиц одинакова, или в таблице-источнике меньше столбцов. Чаще всего используется другой синтаксис, когда столбцы указаны явно:
INSERT INTO fruits (name, id) SELECT name, id FROM fruits_new WHERE >Проверим результат. После выполнения этих двух команд у нас должно появиться две новых строки:
+----+------------------+ | id | name | +----+------------------+ | 1 | Яблоко | | 2 | Мандарин | | 3 | Банан | | 4 | Апельсин | | 5 | Киви | | 6 | Виноград | | 7 | Груша | | 8 | Ананас | | 9 | Вишня | +----+------------------+ 

Пример 6: вставка значения по умолчанию

Обычно, если в MySQL для столбца не указано значение, то команда INSERT INTO подставляет NULL. Но если при создании таблицы у этого столбца было указано значение по умолчанию (default), тогда подставится именно оно. В нашей таблице sale у столбца count значение по-умолчанию равно единице. Проверим это, вставив новую запись без указания этого столбца:

INSERT INTO sale (store_id, fruit_id, price) VALUES(4, 7, 50); 

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

+----------+----------+--------+-------+ | store_id | fruit_id | price | count | +----------+----------+--------+-------+ | 1 | 3 | 60 | 20 | | 2 | 2 | 80 | 10 | | 3 | 1 | 120 | 12 | | 1 | 1 | 89 | 3 | | 2 | 4 | 128.78 | 5 | | 4 | 7 | 50 | 1 | +----------+----------+--------+-------+ 

Пример 7: вставка или обновление при дубликате

В MySQL нельзя добавить строку в таблицу, у которой дублируется первичный ключ (primary key). В наших таблицах stores и fruits поле id — это первичный ключ. Поэтому если мы попробуем добавить в таблицу fruit значение с то MySQL выдаст ошибку.

Но существует похожая на INSERT команда — REPLACE, которая умеет перезаписывать значения. Она работает как INSERT и UPDATE одновременно: если в таблице еще нет записи с таким первичным ключом, команда создаст новую запись; а если уже есть — заменит ее.

REPLACE INTO fruits VALUES (1, 'Лимон'); 

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

+----+------------------+ | id | name | +----+------------------+ | 1 | Лимон | | 2 | Мандарин | | 3 | Банан | | 4 | Апельсин | | 5 | Киви | | 6 | Виноград | | 7 | Груша | | 8 | Ананас | | 9 | Вишня | +----+------------------+ 

Пример 8: игнорирование ошибки при вставке

Продолжим предыдущий пример. Допустим, записи в нашу таблицу вставляет бэкенд-сервис приложения. Мы хотим, чтобы сервис попробовал вставить новую запись, но если такой первичный ключ уже существует — ничего не обновлял и просто шел выполнять другой код. Но при совпадении ключей MySQL выдаст ошибку, а код на бэкенде прервется и ее нужно будет обрабатывать в сервисе. Гораздо проще добавить к команде INSERT ключевое слово IGNORE, чтобы при совпадении первичного ключа MySQL не генерировал ошибку:

INSERT IGNORE INTO stores VALUES (1, 'Магазин 10', 'Адрес 10'); 

Обратите внимание на сообщение, которое выдает MySQL, оно будет примерно таким: Query OK, 0 rows affected, 1 warning. Это значит, что запрос выполнился успешно, при этом он не затронул ни одну строки и есть одно предупреждение. Проверим результат: видим, что новых магазинов не появилось, а текущие не изменились.

+----+------------------+--------------+ | id | name | address | +----+------------------+--------------+ | 1 | Магазин 1 | Адрес 1 | | 2 | Магазин 2 | Адрес 2 | | 3 | Магазин 3 | Адрес 3 | | 4 | Магазин 4 | NULL | +----+------------------+--------------+ 

Пример 9: вставка записи в определенные партиции

Если таблица разбита на партиции, то при вставке данных можно сразу указать, в какой именно раздел вставлять запись. Наша таблица sales разбита на несколько партиций согласно условию:

  • p0 для записей, у которых count от 0 до 100
  • p1 для записей, у которых count от 101 до 150.

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

INSERT INTO sale PARTITION (p0) VALUES (1, 9, 130, 10); 

Кроме того, в одной команде мы можем вставлять данные сразу в несколько партиций. Это делается так:

INSERT INTO sale PARTITION (p0, p1) VALUES (4, 8, 90, 10), (3, 7, 50, 120); 

Пример 10: изменение приоритета

В некоторых движках таблиц MySQL (например, в MyISAM, MEMORY и MERGE) можно изменить приоритет вставки данных. Например, можно сделать так, что если таблицу считывает команда SELECT, то команда INSERT будет ждать ее завершения. Это делается с помощью ключевого слова LOW_PRIORITY:

INSERT LOW_PRIORITY INTO sale VALUES (1, 6, 40, 3); 

Если же нужно наоборот поднять приоритет, используется такая команда:

INSERT HIGH_PRIORITY INTO sale VALUES (1, 6, 40, 3); 

Но нужно иметь ввиду, что если к таблице активно идут SELECT-запросы, то команда INSERT с низким приоритетом может ждать своей очереди довольно долго.

Заключение

Мы рассмотрели команду INSERT и познакомились с десятью самыми основными способами ее использования. Вы узнали, как с помощью SQL команды можно добавить новую строку в таблицу или обновить существующую. Зная эти основы, вы можете начать писать INSERT-запросы для своей структуры БД.

ALTER TABLE — изменение таблицы в SQL

Работа с командой UPDATE — как обновить данные в таблице MySQL

Зарегистрируйтесь в панели управления

И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.

Читайте также:

Инструкция

Как автоматизировать подготовку к собеседованиям с помощью Telegram-бота

29 сентября 2023

Инструкция

Как реализовать очередь в Redis

14 сентября 2023

Инструкция

Как генерировать истории с помощью ChatGPT и Telegram

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *