Denna handledning är en del av serien Lär dig grundläggande SQL-frågor med MySQL. I den här handledningen kommer vi att diskutera SQL-frågor för att infoga rader eller lagra data i en tabell i MySQL.
Infoga i fråga
Frågan INSERT INTO kan användas för att infoga rader i en tabell. Om du är fjärrinloggad i databasen behöver du även INSERT-privilegiet för tabellen för att infoga rader i en tabell.
# INSERT INTO - Syntax
INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);
Frågeförklaring
MySQL-kommandot INSERT INTO kan användas för att infoga rader i det givna tabellnamnet där namnet på tabellen är obligatoriskt.
Vi kan ange kolumnnamnen i det kommaseparerade formatet om raddata endast anges för valda kolumner. Om raddata tillhandahålls för alla tabellkolumner i kolumnordningen, kan vi utelämna att ange kolumnerna.
Vi kan antingen tillhandahålla
Sträng – Vi måste omge alla strängvärden i enstaka citattecken. Vi kan också använda NULL, om kolumndefinitionen tillåter.
Numerisk - Numeriska värden ska inte ingå i citattecken. De numeriska värdena måste tillhandahållas direkt baserat på kolumndatatypen.
Datum - Datumvärdena måste omges av enkla citattecken enligt MySQL-formatet, dvs "ÅÅÅÅ-MM-DD". Vi kan använda alla nollor som standardvärde eller NULL om kolumndefinitionen tillåter nollvärden.
Datum och tid - I likhet med datavärden,
Du kan också följa MySQL Data Types Cheatsheet för att veta mer om tillgängliga datatyper i MySQL.
Exempel
Det här avsnittet ger exempel på infogningsfrågan för att infoga raddata i en tabell. Använd den nedan nämnda frågan för att skapa användartabellen med id, förnamn och efternamn för att lagra användardata.
# Create the User Table
CREATE TABLE `user` (
`user_id` bigint(20) NOT NULL,
`first_name` varchar(45),
`last_name` varchar(45)
);
De nedan nämnda frågorna kan användas för att infoga data i användartabellen med hjälp av kolumnnamnen.
# 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' );
Dessa frågor kommer att infoga 6 rader i tabellen med id, förnamn och efternamn för att representera 6 olika användare.
Vi kan också utelämna kolumnnamnen om vi tillhandahåller data för alla kolumner som visas nedan. Vi måste ta hand om kolumnernas ordning samtidigt som vi infogar rader utan att ange kolumnerna.
# 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 );
Vi kan också ändra kolumnordningen samtidigt som vi infogar radvärden. Det enda som ska tas upp är att raddata också måste följa samma ordning som visas nedan.
# Insert Single Row - All Columns
INSERT INTO `user` ( `first_name`, `last_name`, `user_id` ) VALUES ( 'Bill', 'Waugh', 10 );
Så här kan vi använda kommandot INSERT INTO för att infoga data i en tabell.