mysql insert into table insert statement syntax examples
Цей посібник пояснює виклад таблиці MYSQL INSERT INTO разом із синтаксисом запитів та прикладами. Також вивчіть різні варіанти команди MYSQL Insert:
У MySQL команда INSERT використовується для додавання даних до таблиці. За допомогою цієї команди ми можемо вставити дані в один або кілька рядків в одній транзакції. Також дані можна додавати до однієї або декількох таблиць за одну транзакцію.
Ми розглянемо все це у наступних розділах. Перш ніж продовжувати, зауважте, що ми використовуємо MySQL версії 8.0. Ви можете завантажити його з тут .
Що ви дізнаєтесь:
- Синтаксис команди MySQL INSERT
- Варіації висловлення MySQL INSERT
- Найчастіші запитання та відповіді
- Висновок
Синтаксис команди MySQL INSERT
INSERT (LOW_PRIORITY|DELAYED|HIGH_PRIORITY)(IGNORE) INTO tablename (column1, column2, column3...) VALUES (value1, value2, value3, ....);
Пояснення синтаксису:
- Синтаксис починається з ключового слова “INSERT INTO”, інформуючи тим самим MySQL Server про тип діяльності, яку потрібно виконати. Це обов’язкове ключове слово, і його не можна пропустити.
- Далі йде назва таблиці, в якій має бути виконана дія вставки. Це є обов’язковим, і його також не можна пропустити.
- Далі будуть вказані імена стовпців разом із відповідними значеннями. Знову ж таки, це також є обов’язковим і не можна пропустити.
- Далі буде пункт про значення. У цьому пункті потрібно вказати значення для кожного стовпця, який ми вставляємо в таблицю. Послідовність значень та послідовність назв стовпців повинні синхронізуватися.
- Кількість і типи даних стовпців повинні бути такими ж, як і значень.
Модифікатори у заяві INSERT
- LOW_PRIORITY: Цей модифікатор інформує движок MySQL про затримку виконання інструкції INSERT до того моменту, поки не буде ніяких зв’язків із зчитуванням з таблиці, яку ми намагаємось ВСТАВИТИ. Це допомагає досягти узгодженості всіх інших операцій, які будуть виконуватися за цим столом.
- ВИСОКИЙ ПРІОРИТЕТ: Цей модифікатор інформує движок MySQL про надання високого пріоритету інструкції INSERT перед будь-якою іншою заявою / транзакція що виконується на столі.
- ІГНОРУВАТИ: Цей модифікатор повідомляє MySQL Engine про ігнорування будь-яких помилок, які можуть виникнути внаслідок виконання оператора INSERT. Будь-які помилки, які виникають, трактуватимуться як прості попередження, а вставка записів у таблицю буде проходити безперешкодно.
- ЗАДЕРЖАЄТЬСЯ: Це розширення MySQL до стандартного SQL. Коли користувач видає INSERT DELAYED, сервер ставить у чергу всі рядки, а дані вставляються в таблицю пізніше, коли таблиця не використовується іншими транзакціями.
Приклад MySQL INSERT
Далі наведено зразок таблиці, створеної в MySQL.
Назва схеми: тихоокеанський
Назва таблиці: службовців
Назви стовпців:
- empNum - містить цілочисельні значення для номера працівника.
- lastName - Утримує значення varchar для прізвища працівника.
- firstName - Утримує значення varchar для імені працівника.
- електронна пошта - містить значення varchar для ідентифікатора електронної пошти працівника.
- deptNum - Утримує varchar для ідентифікатора відділу, до якого належить працівник.
- зарплата - містить десяткові значення заробітної плати для кожного працівника.
- start_date - містить значення дати для дати приєднання працівника.
Назва схеми: тихоокеанський
Назва таблиці: службовці_історія
Назви стовпців:
- empNum - містить цілочисельні значення для номера працівника.
- lastName - Утримує значення varchar для прізвища працівника.
- firstName - Утримує значення varchar для імені працівника.
- електронна пошта - містить значення varchar для ідентифікатора електронної пошти працівника.
- deptNum - Утримує varchar для ідентифікатора відділу, до якого належить працівник.
- зарплата - містить десяткові значення заробітної плати для кожного працівника.
- start_date - містить значення дати для дати приєднання працівника.
Варіації висловлення MySQL INSERT
# 1) MySQL вставляє один рядок
По-перше, ми розглянемо сценарій, коли ми вказали як імена стовпців, так і значення, які потрібно вставити, використовуючи ключове слово INSERT INTO.
Наприклад, Тут ми спробуємо вставити нового працівника. Ми додамо номер працівника, ім’я та прізвище, а також оновимо ідентифікатор електронної пошти, заробітну плату та ідентифікатор відділу, до якого повинен належати новий працівник.
Запит та відповідні результати є такими:
Як показано на малюнку вище, оператор INSERT успішно виконаний і вставив один рядок у таблицю працівника.
Вихідний оператор нижче показує час, коли виконувався оператор, оператор MySQL, який був виконаний, і кількість рядків, на які це вплинуло.
Зверніть увагу тут, що значення кожного стовпця згадується в тому ж порядку, що і значення імен стовпців. Також зауважте, що стовпець із типом даних цілочисельного / десяткового не замикається в інвертованих комах, однак типи стовпців із типом даних varchar / char були вкладені інвертованими комами.
Для того, щоб перевірити результат цього оператора INSERT, давайте виконаємо оператор SELECT у цій таблиці з empNum як 1012.
Запит:
INSERT INTO employees ( empNum, lastName, firstName, email, deptNum, salary ) VALUES ( 1012, 'Luther', 'Martin', 'ml@gmail.com', 3, 13000 ) ;
Знімок таблиці після:
empNum | прізвище | ім'я | електронною поштою | deptNum | Зарплата | |
---|---|---|---|---|---|---|
1007 | Шмітта | Джеймс | js@gmail.com | 4 | 21780 | 0001-01-01 |
1012 | Лютер | Мартін | ml@gmail.com | 3 | 13000 |
# 2) MySQL вставляє дані лише у вказану колонку
Далі, є інший спосіб вставки даних у таблицю, але шляхом вставки записів лише у необхідні стовпці, а не у всі стовпці. Однак зауважте, що ми не можемо опустити ключові стовпці в цьому сценарії. У випадку таблиці нашого працівника ключовим стовпцем є стовпець empNum. Давайте спробуємо це.
Наприклад, Ми будемо вставляти новий запис у таблицю співробітників із даними просто empNum, lastName, firstName. Ми не призначимо жодного ідентифікатора електронної пошти, відділу чи заробітної плати для цього працівника.
Нижче наведено запит та його результат:
Як показано на малюнку вище, оператор вставки успішно виконаний і вставив один рядок у таблицю працівника.
відкрити .bin файлові вікна 10
Будь ласка, запиши, що для того, щоб вставити лише вибрані стовпці, пропущені нами стовпці слід або оголосити NULL, або мати якесь значення за замовчуванням, яке буде заповнено в разі пропуску цього стовпця. Якщо ця умова не виконується, тоді оператор вставки не вдасться.
Давайте перевіримо виконання вищевказаного оператора INSERT, виконавши оператор SELECT для empNum = 1013.
Запит:
INSERT INTO employees ( empNum, lastName, firstName ) VALUES ( 1013, 'Nolan', 'Chris' ) ;
Знімок таблиці після:
empNum | прізвище | ім'я | електронною поштою | deptNum | Зарплата |
---|---|---|---|---|---|
1013 | Нолан | Кріс | НУЛЬ | НУЛЬ | НУЛЬ |
# 3) MySQL Вставляє кілька рядків
Далі ми пройдемо сценарій, коли нам доведеться вставити декілька рядків у таблицю з тим самим оператором INSERT.
Наприклад, у цьому випадку нам потрібно згадувати імена стовпців лише один раз, але ми можемо продовжувати повторювати значення для цих стовпців стільки разів, скільки потрібно.
Нижче наведено запит разом із результатами, пов’язаними з ним:
Як показано на малюнку вище, виконання заяви було успішним.
Зверніть увагу на частину повідомлення, в якій зазначено, що це вплинуло на 3 рядки, це означає, що в цей єдиний оператор INSERT вставлено 3 записи із виконанням цього оператора INSERT.
Подальше читання = >> Підручник з виписки MySQL
Давайте перевіримо результати нашого оператора INSERT, виконавши оператор SELECT для нових ідентифікаторів співробітників 1014, 1015 та 1016.
Деталі такі:
Запит:
INSERT INTO employees ( empNum, lastName, firstName, email, deptNum, salary ) VALUES (1014, 'Murray', 'Keith', 'km@gmail.com', 1, 25000), (1015, 'Branson', 'John', 'jb@gmail.com', 2, 15000), (1016, 'Martin', 'Richard', 'rm@gmail.com', 4, 5000) ;
Знімок таблиці після:
empNum | прізвище | ім'я | електронною поштою | deptNum | Зарплата |
---|---|---|---|---|---|
1014 | Мюррей | Кіт | km@gmail.com | 1 | 25000 |
1015 | Бренсон | Джон | jb@gmail.com | два | 15000 |
1016 | Мартін | Річард | rm@gmail.com | 4 | 5000 |
# 4) Вставка дати MySQL
Далі ми пройдемо сценарій, коли нам потрібно вставити значення в стовпець дати.
Наприклад, Вставка значень у стовпець дати може бути складною. Дату в MySQL можна додати до формату «РРРР-ММ-ДД». Для цього додамо стовпець start_date зі значенням за замовчуванням як „0001-01-01“.
Це означає, що всі існуючі записи в таблиці працівника із датою_початку будуть оновлені як '0001-01-01'. Заява про зміну буде такою.
Запит:
ALTER TABLE employees ADD start_date DATE default '0001-01-01' ;
Давайте перевіримо результати вищезазначеного запиту, виконавши простий оператор SELECT у таблиці:
Отже, ми додали новий стовпець дати з типом даних як „ДАТА” із значенням за замовчуванням „0001-01-01”. Тепер додамо два нових записи співробітників, один із поточною датою, а інший із конкретною датою.
техніки виявлення вимог у програмній інженерії
Нижче наведені запити разом із деталями:
Як показано на малюнку вище, ми використовували функцію вставки декількох рядків у таблицю, як це пояснювалось у попередньому розділі.
Перший запис було вставлено за допомогою функції CURRENT_DATE (). Ця функція повертає поточну системну дату. Другий запис було вставлено з певною датою у форматі «РРРР-ММ-ДД».
Далі ми перевіримо результат нашого оператора INSERT за допомогою оператора SELECT для empNum 1017 та 1018.
Перший запис, із empNum = 1017, має дату_початку такий самий, як поточна дата, яка дорівнює 25гоЛистопад 2019 (у даному випадку - дата написання цього посібника) у форматі «РРРР-ММ-ДД».
Запит:
INSERT INTO employees ( empNum, lastName, firstName, email, deptNum, salary, start_date ) VALUES (1017, 'Johnson', 'Eve', 'ej@gmail.com', 3, 5500, CURRENT_DATE()), (1018, 'Bond', 'Nolan', 'nb@gmail.com', 2, 15000, '2019-09-13') ;
Знімок таблиці після:
empNum | прізвище | ім'я | електронною поштою | deptNum | Зарплата | Дата початку |
---|---|---|---|---|---|---|
1017 | Джонсон | Єва | ej@gmail.com | 3 | 5500 | 2019-11-25 00:00:00 |
1018 | Бонд | Нолан | nb@gmail.com | два | 15000 | 2019-09-13 00:00:00 |
# 5) Вставка MySQL в таблицю з іншої таблиці
Далі ми розглянемо сценарій, коли нам потрібно вставити дані в нову таблицю з існуючої таблиці.
Наприклад, Розглянемо сценарій, коли нам доведеться періодично переміщати дані з нашої існуючої таблиці в історичну або архівну таблицю. Для цього створімо нову таблицю worker_history.
Наше завдання - перемістити дані з таблиці співробітника до таблиці worker_history.
Оператор CREATE є таким:
Запит:
CREATE TABLE employees_history LIKE employees ;
Давайте перевіримо результати вищезазначеного запиту, виконавши простий оператор DESC у новій таблиці, який дасть нам структуру таблиці нової таблиці:
Отже, ми створили нову таблицю. Тепер завантажимо дані до цієї нової таблиці зі таблиці працівника.
=> Докладніше про MySQL СТВОРИТИ КОМАНДУ ТАБЛИЦ .
Нижче наведено запит та його деталі:
Як показано на малюнку вище, вставка даних у нову таблицю з існуючої таблиці була успішною.
Зверніть увагу, стовпець з повідомленнями на вкладці виводу. Там сказано 18 рядків, що постраждали. Це означає, що всі 18 рядків у існуючій таблиці скопійовано до новоствореної таблиці staff_history.
Далі ми перевіримо результат нашого оператора INSERT за допомогою оператора SELECT у таблиці staff_history.
На наведеному малюнку зображені всі рядки, скопійовані зі таблиці працівника в таблиці staff_history.
На наведеному малюнку зображені всі рядки, скопійовані з таблиці службовців у таблиці staff_history.
Запит:
INSERT INTO employees_history ( empNum, lastName, firstName, email, deptNum, salary, start_date ) SELECT empNum, lastName, firstName, email, deptNum, salary, start_date FROM employees ;
Знімок таблиці після:
empNum | прізвище | ім'я | електронною поштою | deptNum | Зарплата | Дата початку |
---|---|---|---|---|---|---|
1001 | Ендрюс | Джек | ja@gmail.com | 1 | 3182,7 | 0001-01-01 |
1002 | Шватц | Майк | ms@gmail.com | 1 | 5304,5 | 0001-01-01 |
1003 | Ленглі | Маргарет | margaret.langley@gmail.com | два | 8820 | 0001-01-01 |
1004 | Харера | Сандра | sh@gmail.com | 1 | 10609 | 0001-01-01 |
1005 | читати | Петро | pl@gmail.com | два | 14333 | 0001-01-01 |
1006 | Кіт | Дженні | jk@gmail.com | два | 16538 | 0001-01-01 |
1008 | Бейлі | Олівер | oliver.bailey@gmail.com | 3 | 24494 | 0001-01-01 |
1009 | Кубок | Гаррі | hb@gmail.com | 5 | 30646 | 0001-01-01 |
1010 | Армстронг | Якова | jacob.armstrong@gmail.com | 4 | 32670 | 0001-01-01 |
1011 | Хенкс | Том | th@gmail.com | НУЛЬ | 10100 | 0001-01-01 |
1012 | Лютер | Мартін | ml@gmail.com | 3 | 13000 | 0001-01-01 |
1013 | Нолан | Кріс | НУЛЬ | НУЛЬ | НУЛЬ | 0001-01-01 |
1014 | Мюррей | Кіт | km@gmail.com | 1 | 25000 | 0001-01-01 |
1015 | Бренсон | Джон | jb@gmail.com | два | 15000 | 0001-01-01 |
1016 | Мартін | Річард | rm@gmail.com | 4 | 5000 | 0001-01-01 |
1017 | Джонсон | Єва | ej@gmail.com | 3 | 5500 | 2019-11-25 00:00:00 |
1018 | Бонд | Нолан | nb@gmail.com | два | 15000 | 2019-09-13 00:00:00 |
Найчастіші запитання та відповіді
Q # 1) Як вставити дані в таблицю в MySQL?
Відповідь: Щоб вставити дані в таблицю MySQL, MySQL надає нам важливе ключове слово “INSERT INTO”. Далі йде назва таблиці, список стовпців та список відповідних значень, які потрібно вставити. Ми можемо використовувати це ключове слово, щоб вставити один або кілька стовпців в одній транзакції.
Q # 2) Поясніть пункт “ВСТАВИТИ ІГНОРУЙТЕ В”.
Відповідь: Коли ми намагаємось вставити більше одного рядка в один оператор INSERT, можливо, виконання може бути невдалим через неправильні дані для будь-якого конкретного рядка. Це призведе до зупинки транзакції та повернення до попереднього коміту.
Щоб уникнути подібних сценаріїв, “ВСТАВИТИ ІГНОРУВАТИ” використовується. Цей пункт ігнорує помилку, що спричиняє недійсні записи, і вставляє лише дійсні записи, щоб транзакція не зупинялася. Це корисно, коли вам доводиться робити масові вставки, і ви не можете дозволити собі переробляти це за будь-які неправильні дані для рядка.
Запитання №3) Як оновити атрибути в MySQL?
найкращий безкоштовний очищувач небажаних файлів для Windows 10
Відповідь: Ми можемо оновити атрибут (и) за допомогою оператора MySQL Update, де оператор починається з ключового слова UPDATE, за яким слідує ім'я таблиці. Далі йде пункт SET, за яким слідує назва стовпця та речення WHERE.
Q # 4) Чи можу я вставити кілька записів в одну транзакцію MySQL Insert?
Відповідь: Як зображено вище, під “Вставка даних у кілька рядків” розділ, ми можемо вставити кілька рядків в одну транзакцію вставки. Ми можемо використовувати речення INSERT INTO, за яким слідують ім'я таблиці та список стовпців, але замість одного списку значень нам потрібно згадати кілька списків значень для кожного зі стовпців.
Q # 5) Звідки ви завантажуєте MySQL?
Відповідь: Ви можете завантажити MySQL версії 8.0 звідси: MySQL .
Також прочитайте => Як завантажити MySQL
Q # 6) Чи може речення SELECT використовуватися в операторі MySQL INSERT?
Відповідь: Так, SELECT можна використовувати разом із оператором MySQL INSERT. Це було пояснено в розділі «MySQL Вставка таблиці з іншої таблиці». Це використовується, коли нам доводиться вставляти рядки в одну таблицю, використовуючи дані, вже наявні в іншій таблиці.
Наприклад, переміщення даних із поточної таблиці до історичної таблиці у сховищі даних.
Q # 7) Як MySQL зберігає дату в таблицях?
Відповідь: MySQL використовує формат “РРРР-ММ-ДД” для зберігання дати в таблицях. Тип даних - DATE. Діапазон дат, які підтримує MySQL, - від «1000-01-01» до «9999-12-31».
MySQL також має тип даних DATETIME для зберігання як дати, так і часу. Формат: “РРРР-ММ-ДД год: мм: сс”. Прийнятний діапазон - від «1000-01-01 00:00:00» до «9999-12-31 23:59:59».
Рекомендована література = >> Підручник з типів даних MySQL
Висновок
Таким чином, у цьому посібнику ми дізналися про п’ять різних способів виконання операторів INSERT у MySQL.
- MySQL Вставка одного рядка
- MySQL вставляє дані лише у вказану колонку
- MySQL Вставка даних у кілька рядків
- Вставка дати MySQL
- MySQL Вставка таблиці з іншої таблиці
Ми можемо використовувати будь-яку з них, виходячи з вимог нашого проекту.
Щасливого читання !!
Рекомендована література
- Різниця між SQL Vs MySQL Vs SQL Server (з прикладами)
- 40 найкращих запитань та відповідей на інтерв’ю MySQL (2021 запитання)
- Підручник із заяв на оновлення MySQL - Синтаксис та приклади оновлення запитів
- Синтаксис команд Unix Cat, варіанти з прикладами
- Команда сортування Unix із синтаксисом, опціями та прикладами
- Вставте кілька документів у MongoDB за допомогою масивів
- C # Використання твердження та підручник з віртуального методу C # з прикладами
- Структура програми C # та основний синтаксис із прикладами