Denne vejledning er en del af serien Lær grundlæggende SQL-forespørgsler ved hjælp af MySQL. I denne øvelse vil vi diskutere SQL-forespørgsler for at indsætte rækker eller gemme data i en tabel i MySQL.
Indsæt i forespørgsel
Forespørgslen INSERT INTO kan bruges til at indsætte rækker i en tabel. Hvis du er eksternt logget på databasen, skal du også bruge INSERT-privilegiet for tabellen for at indsætte rækker i en tabel.
# INSERT INTO - Syntax
INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);
Forespørgselsforklaring
MySQL-kommandoen INSERT INTO kan bruges til at indsætte rækker i det givne tabelnavn, hvor navnet på tabellen er obligatorisk.
Vi kan angive kolonnenavnene i det kommaseparerede format, hvis rækkedata kun er angivet for udvalgte kolonner. Hvis rækkedataene er angivet for alle tabelkolonnerne i kolonnerækkefølgen, kan vi undlade at angive kolonnerne.
Vi kan enten levere
String - Vi skal omslutte alle strengværdier i enkelte anførselstegn. Vi kan også bruge NULL, hvis kolonnedefinitionen tillader det.
Numerisk - Numeriske værdier må ikke stå i anførselstegn. De numeriske værdier skal angives direkte baseret på kolonnedatatypen.
Dato - Datoværdierne skal være omgivet af enkelte anførselstegn efter MySQL-formatet, dvs. 'ÅÅÅÅ-MM-DD'. Vi kan bruge alle nuller som standardværdi eller NULL, hvis kolonnedefinitionen tillader nulværdier.
Dato og klokkeslæt - I lighed med dataværdier er
Du kan også følge MySQL Data Types Cheatsheet for at vide mere om de tilgængelige datatyper i MySQL.
Eksempler
Dette afsnit giver eksempler på indsættelsesforespørgslen for at indsætte rækkedata i en tabel. Brug nedenstående forespørgsel til at oprette brugertabellen med kolonnerne id, fornavn og efternavn til at gemme brugerdata.
# Create the User Table
CREATE TABLE `user` (
`user_id` bigint(20) NOT NULL,
`first_name` varchar(45),
`last_name` varchar(45)
);
De nedenfor nævnte forespørgsler kan bruges til at indsætte data i brugertabellen ved hjælp af kolonnenavnene.
# 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' );
Disse forespørgsler vil indsætte 6 rækker i tabellen med id, fornavn og efternavn til at repræsentere 6 forskellige brugere.
Vi kan også udelade kolonnenavnene, hvis vi leverer dataene for alle kolonnerne som vist nedenfor. Vi skal tage os af rækkefølgen af kolonnerne, mens vi indsætter rækker uden at specificere kolonnerne.
# 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 også ændre kolonnerækkefølgen, mens vi indsætter rækkeværdier. Det eneste der skal passes på er, at rækkedata også skal følge samme rækkefølge som vist nedenfor.
# Insert Single Row - All Columns
INSERT INTO `user` ( `first_name`, `last_name`, `user_id` ) VALUES ( 'Bill', 'Waugh', 10 );
Sådan kan vi bruge kommandoen INSERT INTO til at indsætte data i en tabel.