sql >> Databasteknik >  >> RDS >> Mysql

Infoga fråga för att infoga rader i MySQL

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 raden data för alla kolumner eller valda kolumner enligt ovan. Vi måste ta hand om datatypen när vi infogar raddata. De vanligaste datatyperna listas nedan:

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, datetime värde måste omges av enkla citattecken enligt MySQL-formatet, dvs. 'ÅÅÅÅ-MM-DD hh:mm:ss '.

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.


  1. Oracle instantclient DYLD_LIBRARY_PATH-fel

  2. Postgres-fel vid infogning - ERROR:ogiltig bytesekvens för kodning av UTF8:0x00

  3. SQL MAX() för nybörjare

  4. Hur man returnerar ett inkrementellt gruppnummer per grupp i SQL