Введение в Insert в MySQL

Основная цель системы баз данных - хранить данные в таблицах. Для определения функциональности в базе данных у нас есть различные виды команд SQL. В этой теме мы собираемся узнать о Вставке в MySQL.

Команды SQL можно разделить на следующие категории:

  • DDL (язык определения данных)
  • DML (язык манипулирования данными)
  • DQL (язык запросов данных)
  • DCL (язык управления данными)
  • TCL (язык управления транзакциями)

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

Ниже приведены команды в DML:

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

INSERT into employee
Values(101, 'abcd');

2. УДАЛИТЬ: Используется для удаления одной строки или всей записи в таблице.

DELETE TABLE employee;

3. ОБНОВЛЕНИЕ: используется для обновления существующих записей в таблице.

UPDATE employee
SET col1 = new_col
WHERE condition;

Синтаксис команды вставки в MySQL

Мы можем написать оператор INSERT INTO следующими двумя способами.

Способ № 1

INSERT INTO table_name
VALUES (value1, value2, ….);

Способ № 2

INSERT INTO table_name (column1, column2, …….)
VALUES (value1, value2, ….);

  • INSERT INTO table_name - это команда, которая добавляет новую строку в таблицу с именем `table_name` в базе данных MySQL.
  • (column_1, column_2, …) - это имена столбцов, в которые будет добавлена ​​новая запись.
  • VALUES (value_1, value_2, …) указывает значения, которые будут добавлены в новую строку.

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

  • Строка: все строковые значения должны быть заключены в одинарные кавычки.
  • Числовые: числовые значения не должны заключаться в одинарные или двойные кавычки.
  • Дата: Эти типы данных должны быть в одинарных кавычках в формате «ГГГГ-ММ-ДД».

Давайте рассмотрим таблицу «сотрудник», состоящую из следующих атрибутов:

emp_id Emp_name Телефон Эл. адрес отдел Менеджер город
1001Виней9876543219КСОСудирБангалор
1002Raaj9764527848ЭТОСтивенХайдарабад
1003Шакти9567382784автомобильныйVedБхубанесвар

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

INSERT INTO employee
VALUES (1004, 'Ravi', 9856478398, ' ', 'marketing', 'shiv', 'kolkata');

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

INSERT INTO employee (emp_id, emp_name, phone, email, manager)
VALUES (1005, 'sam', 9856478398, ' ', 'shivankar');

Реализация команды вставки в MySQL

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

Roll_noИмяФамилиястандартТелефонпроцентгород
1SandeepКумар10987645672689, 33Cuttack
2Shyam976Бхубанесвар
3ШактиНайк646376577676
4Sid89864876986Kolkata
5ВинейКумар1092

Мы вставим эти строки одну за другой в базу данных.

  • Начнем с Сандипа. Здесь «Roll_no», «Standard», «Phone» и «Percentage» являются числовыми полями, поэтому значения в этом столбце будут вставлены без кавычек.

INSERT INTO student
VALUES (1, 'Sandeep', 'Kumar', 10, 9876456726, 89.33, 'Cuttack');

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

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

INSERT INTO student (Roll_no, First_name, Standard, Percentage, City)
VALUES (2, 'Shyam', 9, 76, 'Bhubaneswar');

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

INSERT INTO student (Roll_no, First_name, Last_name, Phone, Percentage)
VALUES (3, 'Sakti', 'naik', 6463765776, 76);

INSERT INTO student (Roll_no, First_name, Standard, Phone, City)
VALUES (4, 'Sid', 8, 9864876986, 'Kolkata');

INSERT INTO student (Roll_no, First_name, Last_name, standard, Percentage)
VALUES (5, 'Vinay', 'Kumar', 10, 92);

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

Во всех приведенных выше запросах пропущено так много полей, как значения Last_name, Phone, City. Поэтому в таких случаях MySQL будет вставлять по умолчанию значения NULL в те столбцы, которые мы пропустили в запросах.

Вставка в таблицу из другой таблицы

Если есть 2 одинаковые таблицы, и мы хотим вставить данные из таблиц_1 в таблицу_2 напрямую, чтобы избежать ручной работы, мы также можем использовать другой тип запроса INSERT. В таком случае мы должны использовать команду SELECT с командой INSERT. В основном команда SELECT поставляется под DQL (Data Query Language), который используется для поиска / извлечения данных. Команда select также может использоваться со многими типами предложений.

Основной синтаксис для вставки записей в одну таблицу из другой выглядит следующим образом:

INSERT INTO table_1 SELECT * FROM table_2;

пример

Давайте посмотрим на пример, приведенный ниже:

1. Стол заказов

№ заказаOrder_departmentИмя покупателяContact_noКоличествоМесто
8465637МебельПитер86598767661000Дели
9473636украшенияAlex9863769898800Mumbai

2. Order_archive Table

№ заказаOrder_departmentИмя покупателяContact_noКоличествоМесто

Здесь у нас есть 2 таблицы с именами Order и Order_archive. Если мы переместим все записи из таблицы Order в Order_archive, то следующий код может выполнить задачу:

INSERT INTO Order_archive SELECT * FROM Order;

Если мы хотим переместить некоторые конкретные столбцы из таблицы Order в Order_archive, то:

INSERT INTO Order_archive (Order_no, Order_department, Contact_no, Quantity)
SELECT Order_no, Order_department, Contact_no, Quantity FROM Order;

Вывод

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

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

Рекомендуемые статьи

Это руководство по вставке в MySQL. Здесь мы обсуждаем реализацию команды вставки в MySQL вместе с соответствующими примерами и синтаксисом. Вы также можете посмотреть на следующую статью.

  1. Что такое схема MySQL?
  2. MySQL String функции
  3. Что такое MySQL?
  4. Как установить MySQL
  5. Примеры реализации INSERT в Oracle