Този урок е част от поредицата Научете основни SQL заявки с помощта на MySQL. В този урок ще обсъдим SQL заявки за вмъкване на редове или съхраняване на данни в таблица в MySQL.
Вмъкване в заявка
Заявката INSERT INTO може да се използва за вмъкване на редове в таблица. В случай, че сте влезли отдалечено в базата данни, ще ви трябва и привилегията INSERT за таблицата, за да вмъкнете редове в таблица.
# INSERT INTO - Syntax
INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);
Обяснение на заявката
Командата на MySQL INSERT INTO може да се използва за вмъкване на редове в даденото име на таблица, където името на таблицата е задължително.
Можем да посочим имената на колоните във формат, разделен със запетая, ако данните за редовете са посочени само за избрани колони. В случай, че данните за ред са предоставени за всички колони на таблицата в реда на колоните, можем да пропуснем да посочим колоните.
Можем или да предоставим
Стринг - Трябва да затворим всички стойности на низовете в единични кавички. Можем също да използваме NULL, в случай че дефиницията на колоната позволява.
Числово - Числовите стойности не трябва да се поставят в кавички. Числовите стойности трябва да бъдат предоставени директно въз основа на типа данни в колоната.
Дата - Стойностите за дата трябва да бъдат затворени в единични кавички след MySQL формата, т.е. „ГГГГ-ММ-ДД“. Можем да използваме всички нули като стойност по подразбиране или NULL, в случай че дефиницията на колоната позволява нулеви стойности.
Дата и час - Подобно на стойностите на данните,
Можете също да следвате Cheatsheet MySQL Data Types, за да научите повече за наличните типове данни в MySQL.
Примери
Този раздел предоставя примери за заявка за вмъкване за вмъкване на данни от ред в таблица. Използвайте посочената по-долу заявка, за да създадете потребителска таблица с колоните с идентификатор, собствено и фамилно име, за да съхранявате потребителски данни.
# Create the User Table
CREATE TABLE `user` (
`user_id` bigint(20) NOT NULL,
`first_name` varchar(45),
`last_name` varchar(45)
);
Споменатите по-долу заявки могат да се използват за вмъкване на данни в потребителската таблица с помощта на имената на колоните.
# Insert Single Row - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`) VALUES ( 1, 'John', 'Smith' );
# Insert Multiple Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`) VALUES
( 2, 'Rick', 'Jones' ),
( 3, 'Catherine', 'Ponting' ),
( 4, 'Harsh', 'Upadhyay' ),
( 5, 'Tajwinder', 'Singh' );
# Insert Single Row - Selected Columns - NULL for last_name
INSERT INTO `user` ( `user_id`, `first_name`) VALUES ( 6, 'Leo' );
Тези заявки ще вмъкнат 6 реда в таблицата с идентификатор, собствено и фамилно име, за да представляват 6 различни потребители.
Можем също да пропуснем имената на колоните, в случай че предоставим данните за всички колони, както е показано по-долу. Трябва да се грижим за реда на колоните, докато вмъкваме редове, без да указваме колоните.
# Insert Single Row - All Columns
INSERT INTO `user` VALUES ( 7, 'Leo', 'Murphy' );
# Insert Multiple Rows - All Columns
INSERT INTO `user` VALUES
( 8, 'Ram', 'Choudhary' ),
( 9, 'Nicole', NULL );
Можем също да променим реда на колоните, докато вмъкваме стойности на редове. Единственото нещо, което трябва да се внимава е, че данните в реда също трябва да следват същия ред, както е показано по-долу.
# Insert Single Row - All Columns
INSERT INTO `user` ( `first_name`, `last_name`, `user_id` ) VALUES ( 'Bill', 'Waugh', 10 );
Ето как можем да използваме командата INSERT INTO, за да вмъкнем данни в таблица.