MySQL – это реляционная система управления базами данных. СУБД, которая имеет свободную лицензию и функционирует бесплатно. Она является одной из наиболее распространенных.
Задавать запросы в MySQL можно при помощи SQL. Такое название получил официальный стандартизированный язык запросов. Он позволяет записать в БД то или иное значение, а также создавать и удалять ячейки, комбинировать их и выполнять иные операции. SQL дает возможность управлять таблицами в базах информации.
Среди наиболее распространенных команд в MySQL выделяется Insert. Далее предстоит изучить соответствующий запрос более подробно. Представленная информация будет одинаково полезна как новичкам, там и тем, кто уже работал с СУБД и электронными таблицами.
Краткая характеристика
Insert – это популярный оператор SQL. Он используется тогда, когда необходимо добавить строки в таблицу, заполняя их определенными значениями. Информацию в таблицу разрешено вставлять перечислением. Для этого используется ключевое слово values. После него в круглых скобках через запятую идут перечисления. Допускается вставка значений в поля через другой известный оператор – select.
Insert отвечает за добавление строк в таблицу. Простая его форма имеет следующий синтаксис:
Список столбцов для добавления не является обязательным. На это в синтаксисе insert указывают квадратные скобки. Если соответствующий компонент отсутствует, список вставляемых значений должен быть полным – обеспечивать вставку значений для всех столбцов таблицы. Порядок значений должен соответствовать порядку, который был задан для таблицы через команду Create Table. В нее вставляются строки.
Список используемых значений должен относиться к одному и тому же типу данных, что и каждый столбец БД, в которую он вносится. В противном случае на экране появится сообщение об ошибке.
Как использовать команду
Далее предстоит выяснить, как осуществляется вставка данных в таблицу MySQL. Упомянутая ранее команда будет рассмотрена во всех возможных проявлениях. Эта информация поможет понять не только как создать электронную БД, но и пояснит принципы работы с полями и значениями в ней.
Простая форма
Insert into – это простейшая запись изучаемой команды. Она имеет следующий синтаксис:
Insert Into table_name value (column1, column2, …, columnN).
Нужно помнить, что для соответствующей записи важен порядок столбцов. Связано это с тем, что в insert параметры столбцов указываются изначально по порядку. Они должны присутствовать у каждого столбца в БД. Пропуски параметров не допускаются ни при каких обстоятельствах.
Вот – пример рассматриваемой команды:
Здесь:
- Дана таблица user.
- В заданной таблице три поля. Это name, age и contact.
- Присвоенные типы – varchar, integer, varchar.
При обработке записанного query в user будет добавлена запись Brave Zombie, возраст которого равен 18 годам, а номер телефона – 987654321.
Списки столбцов таблицы
Создание БД и использование в ней команды insert into – задача, с которой должен справляться каждый специалист. Следующий вариант использования запроса – это работа со списками столбцов.
Указание названий столбцов перед значениями – это рекомендуемый прием, который необходимо освоить всем пользователям, работающим с БД. С его помощью удастся добавлять «подписи» столбцов. Такая команда необходима для того, чтобы сделать БД более презентабельной и понятной.
Чтобы создать соответствующий insert, требуется соблюдать следующую форму записи:
Insert into <название таблицы> ([<имя столбца1>, <имя столбца2>, …, <имя столбцаN>]) values (<Параметр1>, <Параметр2>, …, <ПараметрN>).
Соответствующую запись рекомендуется использовать для формирования перечислений через insert с подписями столбцов.
Ниже представлен наглядный пример inserting in tables:
INSERT INTO users(name, age, contact) VALUES("Brave Zombie", 18, "987654321");
Преимуществ у команды Insert в данном случае несколько:
- Порядок столбцов запоминать не нужно. Эта операция осуществляется автоматически.
- Каждый раз предоставлять параметры для всех «колонок» не потребуется. Теперь добавить можно только информацию для определенных столбцов, которые включены в insert запрос.
Несколько иная ситуация, если возникает необходимо добавлять в «колонки» таблицы базы данных одновременно несколько параметров. Для этого используется такая форма:
INSERT INTO users(name, age)
VALUES
("Brave Zombie",18),
("John John", 18),
("Rama", 19);
Здесь осуществляется создание сразу нескольких записей. Пользователь попытается вставить через insert into три новые записи. Они выглядят как Brave Zombie 18, John John 18 и Rama 19.
Вставка нескольких записей
В разные «колонки» БД можно вставлять сразу по несколько или одновременно много записей. Для этого необходимо написать запрос с Insert. Записать его можно так:
Это – лучший вариант как для новичков, так и для более опытных специалистов. Синтаксическая форма inserted запроса будет выглядеть так:
Группы параметров просто перечисляются через запятую. В предложенном примере осуществляется создание трех строчек в table1.
Использование Set
Добавить данные в таблицу поможет ключевое слово set. Оно используется вместе с inserts запросами. Это альтернативная запись для вставки информации в таблицу. Она напоминает оператор Update. Записывать такую форму необходимо согласно синтаксису:
Вот пример выполнения запроса по соответствующей форме:
Здесь в таблицу необходимо вставить строчку. Столбцы Units и Money примут значение по умолчанию.
Выше результат обработки insert запроса в СУБД. У рассмотренного запроса с SET имеется недостаток: он не поддерживает ввод сразу нескольких записей за один раз. Для того чтобы вставить две или более строк используется ранее изученные записи.
В сочетании с select
Можно добавить запись в имеющуюся таблицу через select. Соответствующая форма записи является копированием. Информация из одной таблицы, в которой указано значение, будет копироваться и переноситься в другую.
В предложенном примере информация будет скопирована from table2 и перенесена в users.
Связь с ignore
При работе с большими объемами информации иногда приходятся производить вставку без настоящего изменения БД. В этом случае на помощь приходит дополнительная команда – ignore.
Чтобы лучше изучить принцип реализации операции, необходимо создать табличку employees при помощи следующей формы записи:
Теперь можно сформировать запрос на вставку записи:
При обработке сообщение об ошибке на экране не появится. При выборе всех записей из таблички сотрудников возвращаться будет только одна запись – department_name с параметров Sales Department.
Загрузка из готового текстового документа
Insert может работать с файлом, который ранее создавался пользователем для работы. Информацию в БД при помощи SQL-запроса удается выгрузить из готового текстового документа. Для добавления параметров в таблички кроме insert пользователь может использовать load data.
Лучше разобраться с таким запросом поможет наглядный пример:
Сначала необходимо создать таблицу с именами друзей и их днями рождения:
Сформировать текстовый документ с именем friend.txt. В нем необходимо написать список друзей с установленными днями рождениями. Каждый человек – это новая строка. Параметры в текстовом документе разделяются запятыми. Пропущенные значения указываются как \N:
Выполнить запрос не с insert, а при помощи load data:
или
(для Windows).
В ранее сформированную таблицу произойдет добавление данных из готового документа friend.txt. Допускается явное указание разделителя значений столбцов и маркера конца строки. Для этого необходимо пользоваться FRIENDS Terminated by и Lines terminated by соответственно. По умолчанию в качестве разделителя система рассматривает табуляцию, а указателя перехода на новую строку – символ перевода строчки.
Особенности работы с запросом
Во время реализации рассмотренного оператора по добавлению данных в таблицу SQL не исключены ошибки:
- если при создании table для поля указан параметр not null и не было определено значение по умолчанию, при отсутствии вставляемого параметра возникает ошибка;
- при попытке вставки в поле с типом identity появляется ошибка.
В первом случае избавиться от сбоя можно несколькими способами: убрать not null, указать значение по умолчанию для таблицы «аккаунт» или любой другой используемой. Возможна вставка необходимого параметра в БД.
Во втором случае устранить неполадку можно, не вставляя параметры в соответствующие поля, а также путем указания опции identity_insert.
Прокачать навыки работы с базами данных можно на курсах Otus.