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`;
членський_ номер повні_ імена пол дата народження фізична адреса Поштова адреса контактний номер e-mail
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 також може бути використана для вставки даних з однієї таблиці в іншу.