Введение в 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 | КСО | Судир | Бангалор | |
1002 | Raaj | 9764527848 | ЭТО | Стивен | Хайдарабад | |
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 | Имя | Фамилия | стандарт | Телефон | процент | город |
1 | Sandeep | Кумар | 10 | 9876456726 | 89, 33 | Cuttack |
2 | Shyam | 9 | 76 | Бхубанесвар | ||
3 | Шакти | Найк | 6463765776 | 76 | ||
4 | Sid | 8 | 9864876986 | Kolkata | ||
5 | Виней | Кумар | 10 | 92 |
Мы вставим эти строки одну за другой в базу данных.
- Начнем с Сандипа. Здесь «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 | Мебель | Питер | 8659876766 | 1000 | Дели |
9473636 | украшения | Alex | 9863769898 | 800 | Mumbai |
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 вместе с соответствующими примерами и синтаксисом. Вы также можете посмотреть на следующую статью.
- Что такое схема MySQL?
- MySQL String функции
- Что такое MySQL?
- Как установить MySQL
- Примеры реализации INSERT в Oracle