Запит MySQL INSERT INTO: Як додати рядок у таблицю (приклад)

Зміст:

Anonim

Що таке INSERT INTO?

INSERT INTO використовується для зберігання даних у таблицях. Команда INSERT створює новий рядок у таблиці для зберігання даних. Дані зазвичай надаються прикладними програмами, які працюють поверх бази даних.

Основний синтаксис

Давайте розглянемо основний синтаксис команди INSERT INTO MySQL:

ВСТАВИТИ В `ім'я_ таблиці` (стовпець_1, стовпець_2, ...) ЗНАЧЕННЯ (значення_1, значення_2, ...);

ТУТ

  • INSERT INTO `table_name` - це команда, яка вказує серверу MySQL додати новий рядок у таблицю з назвою` table_name.`
  • (стовпець_1, стовпець_2,…) визначає стовпці, які потрібно оновити в новому рядку MySQL
  • VALUES (value_1, value_2,…) визначає значення, які потрібно додати до нового рядка

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

  • Рядкові типи даних - усі рядкові значення повинні бути укладені в одинарні лапки.
  • Цифрові типи даних - усі числові значення повинні подаватися безпосередньо, не вкладаючи їх в одинарні або подвійні лапки.
  • Типи даних дати - вкладіть значення дати в одинарні лапки у форматі 'РРРР-ММ-ДД'.

Приклад:

Припустимо, що у нас є такий список нових членів бібліотеки, які потрібно додати до бази даних.

Повні імена Дата народження Стать Фізична адреса Поштова адреса Контактний номер Електронна адреса
Леонард Хофштадтер Самець Вудрест 0845738767
Шелдон Купер Самець Вудрест 0976736763
Раджеш Кутраппалі Самець Фервью 0938867763
Леслі Вінкл 14.02.1984 Самець 0987636553
Говард Воловіц 24.08.1981 Самець Південний парк Поштова скринька 4563 0987786553 Ця електронна адреса захищена від спам-ботів. Вам потрібно увімкнути JavaScript, щоб переглянути його.

Давайте ВСТАВЛИМО дані по одному. Ми почнемо з Леонарда Гофштадтера. Ми будемо розглядати контактний номер як числовий тип даних, а не вкладати номер в одинарні лапки.

ВСТАВИТИ В «члени» («повні імена», «стать», «фізична_адреса», «номер_контакту») ЦІННОСТІ («Леонард Хофштадтер», «Чоловік», «Вудкрест», 0845738767);

Виконання вищезазначеного сценарію скидає 0 з контактного номера Леонарда. Це пов’язано з тим, що значення буде розглядатися як числове значення, а нуль (0) на початку скидається, оскільки воно не є значущим.

Щоб уникнути подібних проблем, значення слід укладати в одинарні лапки, як показано нижче -

ВСТАВИТИ У "члени" ("повні імена", "стать", "фізична_адреса", "номер_контакту") ЦІННОСТІ ("Шелдон Купер", "Чоловік", "Вудкрест", "0976736763"); 

У наведеному вище випадку нуль (0) не буде скинуто

Зміна порядку стовпців не впливає на запит INSERT у MySQL, якщо правильні значення були зіставлені з правильними стовпцями.

Наведений нижче запит демонструє вищезазначений пункт.

ВСТАВИТИ У "члени" ("номер_контакту", "стать", "повні імена", "фізична_адреса") ЗНАЧЕННЯ ("0938867763", "Чоловік", "Раджеш Кутраппалі", "Вудкрест");

Вищевказані запити пропускали стовпець із датою народження. За замовчуванням MySQL буде вставляти значення NULL у стовпці, пропущені в запиті INSERT.

Давайте тепер вставимо запис для Леслі, де вказана дата народження. Значення дати слід укладати в одинарні лапки у форматі "РРРР-ММ-ДД".

ВСТАВИТИ У `члени '(` повні імена`, `дата_народження`,` стать`, `фізичний_адрес`,` номер_контакту`) ЦІННОСТІ (`` Леслі Вінкл' ', `` 1984-02-14' ', `` Чоловік' ', `` Вудкрест' ', 0987636553 '); 

Усі вищезазначені запити визначали стовпці та відображали їх у значення в операторі вставки MySQL. Якщо ми надаємо значення для ВСІХ стовпців у таблиці, то ми можемо опустити стовпці із запиту вставки MySQL.

Приклад: -

ВСТАВИТИ В "ЦІННОСТІ учасників" (9, 'Говард Воловіц', 'Чоловік', '1981-08-24',
'SouthPark', 'Поштова скринька 4563', '0987786553', 'lwolowitz [at] email.me') ;

Давайте тепер використаємо оператор SELECT, щоб переглянути всі рядки таблиці учасника.

SELECT * FROM `members`; 
членський_ номер повні_імена Стать дата народження фізична адреса Поштова адреса contct_ номер електронною поштою
1 Джанет Джонс Самка 21-07-1980 Ділянка Першої вулиці No 4 Приватна сумка 0759 253 542 Ця електронна адреса захищена від спам-ботів. Вам потрібно увімкнути JavaScript, щоб переглянути його.
2 Джанет Сміт Джонс Самка 23-06-1980 Мелроуз 123 НУЛЬ НУЛЬ Ця електронна адреса захищена від спам-ботів. Вам потрібно увімкнути JavaScript, щоб переглянути його.
3 Роберт Філ Самець 12-07-1989 3-а вулиця 34 НУЛЬ 12345 Ця електронна адреса захищена від спам-ботів. Вам потрібно увімкнути JavaScript, щоб переглянути його.
4 Глорія Вільямс Самка 14-02-1984 2-а вулиця 23 НУЛЬ НУЛЬ НУЛЬ
5 Леонард Хофштадтер Самець НУЛЬ Вудрест НУЛЬ 845738767 НУЛЬ
6 Шелдон Купер Самець НУЛЬ Вудрест НУЛЬ 976736763 НУЛЬ
7 Раджеш Кутраппалі Самець НУЛЬ Вудрест НУЛЬ 938867763 НУЛЬ
8 Леслі Вінкл Самець 14-02-1984 Вудрест НУЛЬ 987636553 НУЛЬ
9 Говард Воловіц Самець 24-08-1981 Південний парк Поштова скринька 4563 987786553 Ця електронна адреса захищена від спам-ботів. Вам потрібно увімкнути JavaScript, щоб переглянути його.

Зверніть увагу, що контактний номер Леонарда Хофштадтера відкинув нуль (0) від контактного номера. Інші контактні номери не скинули нуль (0) на початку.

Вставлення в таблицю з іншої таблиці

Команда INSERT також може використовуватися для вставки даних у таблицю з іншої таблиці. Основний синтаксис такий, як показано нижче.

INSERT INTO table_1 SELECT * FROM table_2; 

Давайте зараз розглянемо практичний приклад. Ми створимо фіктивну таблицю для категорій фільмів для демонстраційних цілей. Ми будемо називати таблицю нових категорій categories_archive. Сценарій, показаний нижче, створює таблицю.

СТВОРИТИ ТАБЛИЦУ `category_archive` (` category_id` int (11) AUTO_INCREMENT, `category_name` varchar (150) ЗАВДАННЯ НУЛЬ,` зауваження` varchar (500) ЗАВДАННЯ НУЛЬ, ОСНОВНИЙ КЛЮЧ (`ідентифікатор категорії))) 

Виконайте наведений вище сценарій для створення таблиці.

Давайте тепер вставимо всі рядки з таблиці категорій в таблицю архівів категорій. Наведений нижче сценарій допомагає нам цього досягти.

ВСТАВИТИ В `category_archive` ВИБРАТИ * З` категорії`; 

Виконання вищезазначеного сценарію вставляє всі рядки з таблиці категорій в таблицю архівів категорій. Зверніть увагу, що для роботи сценарію структури таблиць повинні бути однаковими. Більш надійний сценарій - це той, який відображає імена стовпців у таблиці вставки до тих, що містяться в таблиці.

Наведений нижче запит демонструє його використання.

ВСТАВИТИ В `категорії_архіву` (ідентифікатор категорії, ім'я_категорії, зауваження) ВИБЕРІть ідентифікатор категорії, ім'я_категорії, зауваження ВІД` категорії`;

Виконання запиту SELECT

ВИБЕРІТЬ * З `категорії_архіву`

дає наступні результати, показані нижче.

ідентифікатор категорії ім'я_категорії зауваження
1 Комедія Фільми з гумором
2 Романтичний Історії кохання
3 Епічний Історія старовинних фільмів
4 Жах НУЛЬ
5 Наукова фантастика НУЛЬ
6 Трилер НУЛЬ
7 Дія НУЛЬ
8 Романтична комедія НУЛЬ
9 Мультфільми НУЛЬ
10 Мультфільми НУЛЬ

Приклад PHP: Вставка в таблицю MySQL

Функція mysqli_query використовується для виконання запитів SQL.

Функція може бути використана для виконання наступних типів запитів;

  • Вставити
  • Виберіть
  • Оновлення
  • видалити

Він має наступний синтаксис.

mysqli_query($db_handle,$query);

ТУТ,

"mysqli_query (

…) "- це функція, яка виконує запити SQL.

"$ query" - це SQL-запит, який потрібно виконати

"$ link_identifier" є необов'язковим, його можна використовувати для передачі посилання на з'єднання із сервером

Приклад

$servername = "localhost";$username = "alex";$password = "yPXuPT";$dbname = "afmznf";// Create connection$conn = mysqli_connect($servername, $username, $password, $dbname);// Check connectionif (!$conn) {die("Connection failed: " . mysqli_connect_error());}$sql= "INSERT INTO addkeyworddata(link, keyword)VALUES ('https://www.guru99.com/','1000')";if (mysqli_query($conn, $sql)) {echo "New record created successfully".'
';} else {echo "Error: " . $sql. "
" . mysqli_error($conn);}}

Резюме

  • Команда INSERT використовується для додавання нових даних до таблиці. MySql додасть новий рядок, як тільки команда буде виконана.
  • Значення дати та рядка слід укладати в одинарні лапки.
  • Числові значення не потрібно вводити в лапки.
  • Команда INSERT також може використовуватися для вставки даних з однієї таблиці в іншу.