MySQL INSERT INTO Query: Kā pievienot rindu tabulā (piemērs)

Satura rādītājs:

Anonim

Kas ir INSERT INTO?

INSERT INTO izmanto, lai datus glabātu tabulās. INSERT komanda tabulā izveido jaunu rindu datu glabāšanai. Datus parasti nodrošina lietojumprogrammas, kas darbojas virs datu bāzes.

Pamata sintakse

Apskatīsim komandas INSERT INTO MySQL pamata sintaksi:

INSERT INTO `table_name` (kolonna_1, kolonna_2,…) VALUES (vērtība_1, vērtība_2,…);

ŠEIT

  • INSERT INTO "table_name" ir komanda, kas MySQL serverim liek pievienot jaunu rindu tabulā ar nosaukumu "table_name".
  • (sleja_1, sleja_2,…) norāda kolonnas, kas jāatjaunina jaunajā MySQL rindā
  • VALUES (vērtība_1, vērtība_2,…) norāda vērtības, kas jāpievieno jaunajai rindai

Piegādājot jaunajā tabulā ievietojamās datu vērtības, jāņem vērā:

  • Virknes datu tipi - visas virknes vērtības jāierobežo pēdiņās.
  • Skaitliskie datu tipi - visas skaitliskās vērtības jānorāda tieši, nenorādot tās vienā vai divās pēdiņās.
  • Datuma datu tipi - datuma vērtības ievietojiet atsevišķās pēdiņās formātā “GGGG-MM-DD”.

Piemērs:

Pieņemsim, ka mums ir šāds jauno bibliotēkas dalībnieku saraksts, kas jāpievieno datu bāzei.

Pilni vārdi Dzimšanas datums dzimums Fizikālā adrese Pasta adrese Kontaktpersonas numurs Epasta adrese
Leonards Hofstaders Vīrietis Woodcrest 0845738767
Šeldons Kūpers Vīrietis Woodcrest 0976736763
Rajesh Koothrappali Vīrietis Fairview 0938867763
Leslija Vinkla 14.02.1984 Vīrietis 0987636553
Hovards Volovics 24.08.1981 Vīrietis Dienvidu parks Posti 4563 0987786553 Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript.

Ievietosim datus pa vienam. Mēs sāksim ar Leonardu Hofstadteru. Mēs uzskatīsim kontakta numuru par skaitlisku datu tipu un nenorādīsim numuru vienās pēdiņās.

INSERT INTO `members` (` pilni_nosaukumi`, `dzimums`,` fiziskā_adrese`, `kontakta_numurs`) VALUES ('Leonard Hofstadter', 'Male', 'Woodcrest', 0845738767);

Izpildot iepriekš minēto skriptu, Leonarda kontaktpersonas numurs nokrītas uz 0. Tas ir tāpēc, ka vērtība tiks uzskatīta par skaitlisku vērtību, un sākumā nulle (0) tiek izmesta, jo tā nav nozīmīga.

Lai izvairītos no šādām problēmām, vērtība jāievieto vienās pēdiņās, kā parādīts zemāk -

INSERT INTO `members` (` pilni_nosaukumi`, `dzimums`,` fiziskā_adrese`, `kontakta_numurs`) VALUES ('Sheldon Cooper', 'Male', 'Woodcrest', '0976736763'); 

Iepriekš minētajā gadījumā nulle (0) netiks atcelta

Kolonnu secības maiņa neietekmē vaicājumu INSERT MySQL, kamēr pareizās vērtības ir kartētas pareizajām kolonnām.

Zemāk parādītais vaicājums parāda iepriekš minēto.

INSERT INTO `members` (` contact_number`, `gender`,` full_names`, `physical_address`) VALUES ('0938867763', 'Male', 'Rajesh Koothrappali', 'Woodcrest');

Iepriekš minētie vaicājumi izlaida dzimšanas datuma sleju. Pēc noklusējuma MySQL kolonnās ievietos NULL vērtības, kas tiek izlaistas vaicājumā INSERT.

Tagad ievietosim Leslie ierakstu, kurā ir norādīts dzimšanas datums. Datuma vērtība jāpievieno atsevišķās pēdiņās, izmantojot formātu “GGGG-MM-DD”.

INSERT INTO “members” (“pilni_vārdi”, “dzimšanas datums”, “dzimums”, “fiziska_adrese”, “kontakta_numurs”) VĒRTĪBAS ('Leslie Winkle', '1984-02-14', 'Male', 'Woodcrest', ' 0987636553 '); 

Visi iepriekš minētie vaicājumi norādīja kolonnas un piesaistīja tās vērtībām MySQL ieliktņa priekšrakstā. Ja mēs piegādājam vērtības VISĀM tabulas kolonnām, tad kolonnas var izlaist no MySQL ievietošanas vaicājuma.

Piemērs:-

IEVADIET “locekļu” VĒRTĪBĀS (9, “Howard Wolowitz”, “Male”, “1981-08-24”,
“SouthPark”, “PO Box 4563”, “0987786553”, „lwolowitz [at] email.me”) ;

Tagad izmantosim paziņojumu SELECT, lai apskatītu visas dalībnieka tabulas rindas.

SELECT * FROM `members`; 
dalībnieka numurs pilni_ vārdi dzimums dzimšanas datums fizikālā adrese pasta adrese cont_ numurs e-pasts
1 Dženeta Džonsa Sieviete 21-07-1980 Pirmās ielas zemes gabals Nr. 4 Privātā soma 0759 253 542 Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript.
2 Dženeta Smita Džonsa Sieviete 23.06.1980 Melroze 123 NULL NULL Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript.
3 Roberts Fils Vīrietis 12-07-1989 3. iela 34 NULL 12345 Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript.
4 Glorija Viljamsa Sieviete 14-02-1984 2. iela 23 NULL NULL NULL
5 Leonards Hofstaders Vīrietis NULL Woodcrest NULL 845738767 NULL
6 Šeldons Kūpers Vīrietis NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Vīrietis NULL Woodcrest NULL 938867763 NULL
8 Leslija Vinkla Vīrietis 14-02-1984 Woodcrest NULL 987636553 NULL
9 Hovards Volovics Vīrietis 24-08-1981 SouthPark Posti 4563 987786553 Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript.

Ievērojiet, ka Leonarda Hofstadtera kontakta numurs ir samazinājis nulli (0) no kontakta numura. Pārējie kontaktu numuri sākumā nav samazinājuši nulli (0).

Ievietošana tabulā no citas tabulas

INSERT komandu var izmantot arī datu ievietošanai tabulā no citas tabulas. Pamata sintakse ir tāda, kā parādīts zemāk.

INSERT INTO table_1 SELECT * FROM table_2; 

Tagad aplūkosim praktisku piemēru. Demonstrācijas nolūkos izveidosim fiktīvu tabulu filmu kategorijām. Jauno kategoriju tabulu mēs sauksim par kategoriju_arhīvu. Zemāk parādītais skripts izveido tabulu.

CREATE TABLE `category_archive` (` category_id` int (11) AUTO_INCREMENT, `category_name` varchar (150) DEFAULT NULL,` piezīmes` varchar (500) DEFAULT NULL, PRIMARY KEY (`category_id`)) 

Lai izveidotu tabulu, izpildiet iepriekš minēto skriptu.

Tagad ievietosim visas kategoriju tabulas rindas kategoriju arhīva tabulā. Zemāk parādītais skripts palīdz mums to sasniegt.

INSERT INTO `categories_archive` SELECT * FROM` categories`; 

Izpildot iepriekš minēto skriptu, visas arhīvu tabulas rindas no kategoriju tabulas tiek ievietotas kategoriju arhīva tabulā. Ņemiet vērā, ka skripta darbībai tabulas struktūrām jābūt vienādām. Stingrāks skripts ir tāds, kas ievietošanas tabulas kolonnu nosaukumus kartē ar tabulas nosaukumiem, kuros ir dati.

Zemāk redzamais vaicājums parāda tā lietojumu.

INSERT INTO `categories_archive` (category_id, category_name, piezīmes) SELECT category_id, category_name, piezīmes NO` categories`;

Izpilda vaicājumu SELECT

ATLASIET * FROM `category_archive`

sniedz šādus rezultātus, kas parādīti zemāk.

category_id category_name piezīmes
1 Komēdija Filmas ar humoru
2 Romantiski Mīlas stāsti
3 Episkā Stāsta filmas
4 Šausmas NULL
5 Zinātniskā fantastika NULL
6 Trilleris NULL
7 Darbība NULL
8 Romantiska komēdija NULL
9 Karikatūras NULL
10 Karikatūras NULL

PHP piemērs: ievietojiet MySQL tabulā

Funkcija mysqli_query tiek izmantota SQL vaicājumu izpildei.

Funkciju var izmantot, lai izpildītu šādus vaicājumu veidus;

  • Ievietojiet
  • Atlasiet
  • Atjaunināt
  • dzēst

Tam ir šāda sintakse.

mysqli_query($db_handle,$query);

ŠEIT,

"mysqli_query (

…) "Ir funkcija, kas izpilda SQL vaicājumus.

"$ query" ir izpildāms SQL vaicājums

"$ link_identifier" nav obligāts, to var izmantot, lai ievadītu servera savienojuma saiti

Piemērs

$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);}}

Kopsavilkums

  • INSERT komandu izmanto, lai tabulā pievienotu jaunus datus. Tiklīdz komanda būs izpildīta, MySql pievienos jaunu rindu.
  • Datuma un virknes vērtībām jābūt ievietotām pēdiņās.
  • Skaitliskās vērtības nav jāpievieno pēdiņās.
  • INSERT komandu var izmantot arī, lai ievietotu datus no vienas tabulas citā.