MySQL INSERT INTO Query: Как да добавите ред в таблица (пример)

Съдържание:

Anonim

Какво е INSERT INTO?

INSERT INTO се използва за съхраняване на данни в таблиците. Командата INSERT създава нов ред в таблицата за съхраняване на данни. Данните обикновено се предоставят от приложни програми, които се изпълняват отгоре на базата данни.

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

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

INSERT INTO `table_name` (колона_1, колона_2, ...) СТОЙНОСТИ (стойност_1, стойност_2, ...);

ТУК

  • INSERT INTO `table_name` е командата, която казва на MySQL сървъра да добави нов ред в таблица с име` table_name.`
  • (колона_1, колона_2, ...) указва колоните, които трябва да бъдат актуализирани в новия ред на MySQL
  • VALUES (стойност_1, стойност_2, ...) указва стойностите, които трябва да се добавят в новия ред

При предоставяне на стойностите на данните, които трябва да се вмъкнат в новата таблица, трябва да се има предвид следното:

  • Низови типове данни - всички низови стойности трябва да бъдат затворени в единични кавички.
  • Цифрови типове данни - всички цифрови стойности трябва да се предоставят директно, без да се затварят в единични или двойни кавички.
  • Типове данни за дата - оградете стойностите на датата в единични кавички във формата „ГГГГ-ММ-ДД“.

Пример:

Да предположим, че имаме следния списък с нови членове на библиотеката, които трябва да бъдат добавени към базата данни.

Пълни имена Дата на раждане пол Физически адрес пощенски адрес Номер за контакт Имейл адрес
Леонард Хофстадтер Мъжки Woodcrest 0845738767
Шелдън Купър Мъжки Woodcrest 0976736763
Rajesh Koothrappali Мъжки Fairview 0938867763
Лесли Уинкъл 14/02/1984 Мъжки 0987636553
Хауърд Воловиц 24/08/1981 Мъжки Южен парк Пощенска кутия 4563 0987786553 Този имейл адрес е защитен от спам ботове. Трябва да имате активиран JavaScript, за да го видите.

Нека вмъкнем данни един по един. Ще започнем с Леонард Хофстадтер. Ние ще третираме номера за контакт като числов тип данни и няма да затваряме номера в единични кавички.

ВЪВЕДЕТЕ В „членове“ („пълни имена“, „пол“, „физически_адрес“, „номер_контакт“) СТОЙНОСТИ („Леонард Хофстадтер“, „Мъж“, „Woodcrest“, 0845738767);

Изпълнението на горния скрипт изпуска 0 от номера за контакт на Леонард. Това е така, защото стойността ще се третира като числова стойност и нулата (0) в началото се изпуска, тъй като не е значима.

За да се избегнат подобни проблеми, стойността трябва да бъде затворена в единични кавички, както е показано по-долу -

ВМЪКНЕТЕ В „членове“ („пълни имена“, „пол“, „физически_адрес“, „номер_контакт“) СТОЙНОСТИ („Шелдън Купър“, „Мъж“, „Woodcrest“, „0976736763“); 

В горния случай нула (0) няма да отпадне

Промяната на реда на колоните няма ефект върху заявката INSERT в MySQL, стига правилните стойности да са картографирани в правилните колони.

Показаната по-долу заявка показва горната точка.

ВЪВЕДЕТЕ В „членове“ („номер_за контакт“, „пол“, „пълни имена“, „физически_адрес“) СТОЙНОСТИ („0938867763“, „Мъж“, „Rajesh Koothrappali“, „Woodcrest“);

Горните заявки пропуснаха колоната с дата на раждане. По подразбиране 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 Парцел за първа улица № 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 Леонард Хофстадтер Мъжки НУЛА Woodcrest НУЛА 845738767 НУЛА
6 Шелдън Купър Мъжки НУЛА Woodcrest НУЛА 976736763 НУЛА
7 Rajesh Koothrappali Мъжки НУЛА Woodcrest НУЛА 938867763 НУЛА
8 Лесли Уинкъл Мъжки 14-02-1984 Woodcrest НУЛА 987636553 НУЛА
9 Хауърд Воловиц Мъжки 24-08-1981 Южен парк Пощенска кутия 4563 987786553 Този имейл адрес е защитен от спам ботове. Трябва да имате активиран JavaScript, за да го видите.

Забележете, че номерът за контакт на Leonard Hofstadter е свалил нулата (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) ПО подразбиране NULL,` забележки` varchar (500) по подразбиране NULL, ОСНОВЕН КЛЮЧ (`category_id`)) 

Изпълнете горния скрипт, за да създадете таблицата.

Нека сега вмъкнем всички редове от таблицата с категории в таблицата за архив на категориите. Показаният по-долу скрипт ни помага да постигнем това.

ВМЪКНЕТЕ В `category_archive` SELECT * ОТ` категории`; 

Изпълнението на горния скрипт вмъква всички редове от таблицата с категории в таблицата за архив на категориите. Имайте предвид, че структурите на таблиците трябва да бъдат еднакви, за да работи скриптът. По-надежден скрипт е този, който преобразува имената на колоните в таблицата за вмъкване в тези в таблицата, съдържаща данните.

Заявката, показана по-долу, показва нейното използване.

ВМЪКНЕТЕ В `category_archive` (category_id, category_name, забележки) SELECT category_id, category_name, забележки ОТ` категории`;

Изпълнение на заявката SELECT

ИЗБЕРЕТЕ * ОТ `category_archive`

дава следните резултати, показани по-долу.

категория_id Име на категория забележки
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 може да се използва и за вмъкване на данни от една таблица в друга.