MySQL INSERT INTO Query: Як додати рядок у таблицю (приклад)
Що таке INSERT INTO?
INSERT INTO використовується для зберігання даних у таблицях. Команда INSERT створює новий рядок у таблиці для зберігання даних. Дані зазвичай надаються прикладними програмами, які працюють поверх бази даних.
Основний синтаксис
Давайте розглянемо основний синтаксис INSERT INTO MySQL команда:
INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);
ТУТ
- INSERT INTO `table_name` - це команда, яка повідомляє MySQL сервер, щоб додати новий рядок до таблиці під назвою `table_name.`
- (column_1,column_2,…) визначає стовпці, які потрібно оновити в новому MySQL рядок
- VALUES (value_1,value_2,…) визначає значення, які потрібно додати до нового рядка
Надаючи значення даних, які потрібно вставити в нову таблицю, слід враховувати наступне:
- Рядкові типи даних – усі рядкові значення мають бути взяті в одинарні лапки.
- Числові типи даних – усі числові значення слід надавати безпосередньо, не беручи їх в одинарні чи подвійні лапки.
- Типи даних дати – значення дати беруть у одинарні лапки у форматі «РРРР-ММ-ДД».
приклад:
Припустимо, що у нас є наступний список нових членів бібліотеки, яких потрібно додати до бази даних.
Повні імена | Дата народження | пол | Фізична адреса | Поштова адреса | Контактний номер | Адреса електронної пошти |
---|---|---|---|---|---|---|
Леонард Хофштадтер | чоловік | Вудрест | 0845738767 | |||
Шелдон Купер | чоловік | Вудрест | 0976736763 | |||
Раджеш Кутраппалі | чоловік | Фервью | 0938867763 | |||
Леслі Вінкл | 14/02/1984 | чоловік | 0987636553 | |||
Говард Воловиц | 24/08/1981 | чоловік | South Park | ПО Box 4563 | 0987786553 | lwolowitz@email.me |
Давайте ВСТАВИТИ дані один за одним. Ми почнемо з Леонарда Хофстадтера. Ми розглядатимемо контактний номер як числовий тип даних і не будемо брати його в одинарні лапки.
INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Leonard Hofstadter','Male','Woodcrest',0845738767);
Виконання наведеного вище сценарію видаляє 0 із контактного номера Леонарда. Це пояснюється тим, що значення розглядатиметься як числове значення, а нуль (0) на початку опущено, оскільки він не є значущим.
Щоб уникнути таких проблем, значення потрібно взяти в одинарні лапки, як показано нижче –
INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Sheldon Cooper','Male','Woodcrest', '0976736763');
У наведеному вище випадку нуль (0) не буде видалено
Зміна порядку стовпців не впливає на запит INSERT у MySQL якщо правильні значення зіставлено з правильними стовпцями.
Наведений нижче запит демонструє наведену вище думку.
INSERT INTO `members` (`contact_number`,`gender`,`full_names`,`physical_address`) VALUES ('0938867763','Male','Rajesh Koothrappali','Woodcrest');
Наведені вище запити пропустили стовпець дати народження. За замовчуванням, MySQL вставлятиме значення NULL у стовпці, пропущені в запиті INSERT.
Давайте тепер вставимо запис для Леслі, який має дату народження. Значення дати має бути взято в одинарні лапки у форматі "РРРР-ММ-ДД".
INSERT INTO `members` (`full_names`,`date_of_birth`,`gender`,`physical_address`,`contact_number`) VALUES ('Leslie Winkle','1984-02-14','Male','Woodcrest', '0987636553');
Усі наведені вище запити вказали стовпці та зіставили їх зі значеннями в MySQL вставити заяву. Якщо ми надаємо значення для ВСІХ стовпців у таблиці, ми можемо опустити стовпці з MySQL вставити запит.
Приклад:-
INSERT INTO `members` VALUES (9,'Howard Wolowitz','Male','1981-08-24', 'SouthPark','P.O. Box 4563', '0987786553', 'lwolowitz[at]email.me');
Давайте тепер використаємо Оператор SELECT щоб переглянути всі рядки в таблиці учасників.
SELECT * FROM `members`;
членський_ номер | повні_ імена | пол | дата народження | фізична адреса | Поштова адреса | контактний номер | |
---|---|---|---|---|---|---|---|
1 | Джанет Джонс | жінка | 21-07-1980 | Ділянка № 4 вул | Приватна сумка | 0759 253 542 | janetjones@yagoo.cm |
2 | Джанет Сміт Джонс | жінка | 23-06-1980 | Мелроуз 123 | NULL | NULL | jj@fstreet.com |
3 | Роберт Філ | чоловік | 12-07-1989 | 3-я вулиця 34 | NULL | 12345 | rm@tstreet.com |
4 | Глорія Вільямс | жінка | 14-02-1984 | 2-а вулиця 23 | NULL | NULL | NULL |
5 | Леонард Хофштадтер | чоловік | NULL | Вудрест | NULL | 845738767 | NULL |
6 | Шелдон Купер | чоловік | NULL | Вудрест | NULL | 0976736763 | NULL |
7 | Раджеш Кутраппалі | чоловік | NULL | Вудрест | NULL | 0938867763 | NULL |
8 | Леслі Вінкл | чоловік | 14-02-1984 | Вудрест | NULL | 0987636553 | NULL |
9 | Говард Воловиц | чоловік | 24-08-1981 | Південний парк | ПО Box 4563 | 0987786553 | lwolowitz@email.me |
Зауважте, що контактний номер Леонарда Хофстадтера вилучив нуль (0) із контактного номера. Інші контактні номери не скинули нуль (0) на початку.
Вставка в таблицю з іншої таблиці
Команда INSERT також може бути використана для вставки даних у таблицю з іншої таблиці. Основний синтаксис, як показано нижче.
INSERT INTO table_1 SELECT * FROM table_2;
Тепер розглянемо практичний приклад. Ми створимо фіктивну таблицю для категорій фільмів для демонстрації. Ми назвемо нову таблицю категорій категорій_архів. Сценарій, показаний нижче створює таблицю.
CREATE TABLE `categories_archive` ( `category_id` int(11) AUTO_INCREMENT, `category_name` varchar(150) DEFAULT NULL, `remarks` varchar(500) DEFAULT NULL, PRIMARY KEY (`category_id`))
Виконайте наведений вище сценарій, щоб створити таблицю.
Давайте тепер вставимо всі рядки з таблиці категорій у таблицю архіву категорій. Наведений нижче сценарій допомагає нам досягти цього.
INSERT INTO `categories_archive` SELECT * FROM `categories`;
Виконання наведеного вище сценарію вставляє всі рядки з таблиці категорій у таблицю архіву категорій. Зауважте, що структури таблиць мають бути однаковими, щоб сценарій працював. Надійніший сценарій — це той, який зіставляє назви стовпців у таблиці вставок із назвами в таблиці, що містить дані.
Наведений нижче запит демонструє його використання.
INSERT INTO `categories_archive`(category_id,category_name,remarks) SELECT category_id,category_name,remarks FROM `categories`;
Виконання запиту SELECT
SELECT * FROM `categories_archive`
дає такі результати, наведені нижче.
category_id | category_name | зауваження |
---|---|---|
1 | Комедія | Фільми з гумором |
2 | Романтичний | Історії кохання |
3 | Epic | Сюжети стародавніх фільмів |
4 | Жах | NULL |
5 | Наукова фантастика | NULL |
6 | Триллер | NULL |
7 | дію | NULL |
8 | Романтична комедія | NULL |
9 | Мультфільми | NULL |
10 | Мультфільми | NULL |
Приклад PHP: вставити в MySQL таблиця
Для виконання використовується функція mysqli_query SQL запити.
Функцію вставки SQL у таблицю можна використовувати для виконання таких типів запитів:
- Insert
- Виберіть
- Оновити
- видаляти
Він має такий синтаксис.
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 connection if (!$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".'<br>'; } else { echo "Error: " . $sql. "<br>" . mysqli_error($conn); } }
Підсумки
- Команда INSERT використовується для додавання нових даних у таблицю. Після виконання команди MySql додасть новий рядок.
- Дата та рядкові значення повинні бути взяті в одинарні лапки.
- Числові значення не потрібно брати в лапки.
- Команда INSERT також може бути використана для вставки даних з однієї таблиці в іншу.