MySQL INSERT INTO Query: Kako dodati vrstico v tabelo (primer)

Kazalo:

Anonim

Kaj je INSERT INTO?

INSERT INTO se uporablja za shranjevanje podatkov v tabelah. Ukaz INSERT ustvari novo vrstico v tabeli za shranjevanje podatkov. Podatke običajno dobijo aplikacijski programi, ki se izvajajo na vrhu baze podatkov.

Osnovna sintaksa

Oglejmo si osnovno sintakso ukaza INSERT INTO MySQL:

INSERT INTO `ime_tabele` (stolpec_1, stolpec_2, ...) VREDNOSTI (vrednost_1, vrednost_2, ...);

TUKAJ

  • INSERT INTO "table_name" je ukaz, ki strežniku MySQL pove, naj v tabelo z imenom "table_name" doda novo vrstico.
  • (stolpec_1, stolpec_2, ...) določa stolpce, ki jih je treba posodobiti v novi vrstici MySQL
  • VALUES (value_1, value_2,…) določa vrednosti, ki jih je treba dodati v novo vrstico

Pri podajanju podatkovnih vrednosti, ki jih je treba vstaviti v novo tabelo, je treba upoštevati naslednje:

  • Niz podatkovnih vrst - vse vrednosti nizov morajo biti zaprte v enojne narekovaje.
  • Številski podatkovni tipi - vse številske vrednosti je treba navesti neposredno, ne da bi jih zapirali v enojne ali dvojne narekovaje.
  • Datumski podatkovni tipi - vrednosti datuma vključite v posamezne narekovaje v obliki 'LLLL-MM-DD'.

Primer:

Recimo, da imamo naslednji seznam novih članov knjižnice, ki jih je treba dodati v bazo podatkov.

Polna imena Datum rojstva spol Fizični naslov poštni naslov Kontaktna številka Email naslov
Leonard Hofstadter Moški Woodcrest 0845738767
Sheldon Cooper Moški Woodcrest 0976736763
Rajesh Koothrappali Moški Fairview 0938867763
Leslie Winkle 14.2.1984 Moški 0987636553
Howard Wolowitz 24.8.1981 Moški Južni park Nabiralnik 4563 0987786553 Ta e-poštni naslov je zaščiten proti smetenju. Če ga želite videti, omogočite Javascript.

Vstavimo podatke enega za drugim. Začeli bomo z Leonardom Hofstadterjem. Kontaktno številko bomo obravnavali kot številčno vrsto podatkov in je ne bomo vključili v enojne narekovaje.

VSTAVITE V "člane" ("polna_imena", "spol", "fizični_adres", "kontaktna_številka") VREDNOSTI ("Leonard Hofstadter", "Moški", "Woodcrest", 0845738767);

Izvedba zgornjega skripta spusti 0 z Leonardove kontaktne številke. To je zato, ker bo vrednost obravnavana kot številčna vrednost, ničla (0) na začetku pa bo izpuščena, ker ni pomembna.

Da bi se izognili takim težavam, mora biti vrednost zaprta v enojne narekovaje, kot je prikazano spodaj -

INSERT INTO `members` (` full_names`, `gender`,` fizični_address`, `contact_number`) VREDNOSTI ('Sheldon Cooper', 'Male', 'Woodcrest', '0976736763'); 

V zgornjem primeru nič (0) ne bo izpuščena

Spreminjanje vrstnega reda stolpcev ne vpliva na poizvedbo INSERT v MySQL, če so pravilne vrednosti preslikane v pravilne stolpce.

Spodnja poizvedba dokazuje zgornjo točko.

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

Zgornja vprašanja so preskočila stolpec z datumom rojstva. MySQL privzeto vstavi NULL vrednosti v stolpce, ki so izpuščeni v poizvedbi INSERT.

Zdaj vstavimo zapis za Leslie, ki ima naveden datum rojstva. Vrednost datuma mora biti v enojnih narekovajih v obliki "LLLL-MM-DD".

INSERT INTO `members` (` full_names`, `date_of_birth`,` gender`, `physical_address`,` contact_number`) VREDNOSTI ('Leslie Winkle', '1984-02-14', 'Male', 'Woodcrest', ' 0987636553 '); 

Vse zgornje poizvedbe so podale stolpce in jih preslikale na vrednosti v stavku MySQL za vstavljanje. Če podajamo vrednosti za VSE stolpce v tabeli, lahko stolpce iz poizvedbe za vstavljanje MySQL izpustimo.

Primer: -

VSTAVITE V "VREDNOTE članov (9, 'Howard Wolowitz', 'Moški', '1981-08-24',
'SouthPark', 'PO Box 4563', '0987786553', 'lwolowitz [at] email.me') ;

Zdaj uporabimo izjavo SELECT za ogled vseh vrstic v članski tabeli.

SELECT * FROM `members`; 
številka_članstva polna_ imena spol datum rojstva fizični naslov poštni naslov kont. številka E-naslov
1. Janet Jones Ženska 21-07-1980 Prva ulična parcela št. 4 Zasebna torba 0759 253 542 Ta e-poštni naslov je zaščiten proti smetenju. Če ga želite videti, omogočite Javascript.
2. Janet Smith Jones Ženska 23-06-1980 Melrose 123 NIČ NIČ Ta e-poštni naslov je zaščiten proti smetenju. Če ga želite videti, omogočite Javascript.
3. Robert Phil Moški 12. 7. 1989 3. ulica 34 NIČ 12345 Ta e-poštni naslov je zaščiten proti smetenju. Če ga želite videti, omogočite Javascript.
4. Gloria Williams Ženska 14-02-1984 2. ulica 23 NIČ NIČ NIČ
5. Leonard Hofstadter Moški NIČ Woodcrest NIČ 845738767 NIČ
6. Sheldon Cooper Moški NIČ Woodcrest NIČ 976736763 NIČ
7. Rajesh Koothrappali Moški NIČ Woodcrest NIČ 938867763 NIČ
8. Leslie Winkle Moški 14-02-1984 Woodcrest NIČ 987636553 NIČ
9. Howard Wolowitz Moški 24-08-1981 Južni park Nabiralnik 4563 987786553 Ta e-poštni naslov je zaščiten proti smetenju. Če ga želite videti, omogočite Javascript.

Opazite, da je kontaktna številka Leonarda Hofstadterja s kontaktne številke spustila ničlo (0). Druge kontaktne številke na začetku niso spustile ničle (0).

Vstavljanje v tabelo iz druge tabele

Ukaz INSERT lahko uporabite tudi za vstavljanje podatkov v tabelo iz druge tabele. Osnovna skladnja je prikazana spodaj.

INSERT INTO table_1 SELECT * FROM table_2; 

Oglejmo si zdaj praktični primer. Za demonstracijske namene bomo ustvarili preskusno tabelo za kategorije filmov. Tabelo novih kategorij bomo poklicali categories_archive. Spodnji skript ustvari tabelo.

USTVARI TABELO `category_archive` (` category_id` int (11) AUTO_INCREMENT, `ime_kategorije` varchar (150) PRIROČNO NULL,` opombe` varchar (500) PRIROČNA NULL, OSNOVNI KLJUČ (`id_kategorije)) 

Izvedite zgornji skript, da ustvarite tabelo.

Zdaj vstavimo vse vrstice iz tabele kategorij v tabelo arhivov kategorij. Spodnji scenarij nam pomaga, da to dosežemo.

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

Izvedba zgornjega skripta vstavi vse vrstice iz tabele kategorij v tabelo arhivov kategorij. Upoštevajte, da morajo biti strukture tabel enake, da bo skript deloval. Bolj zanesljiv skript je tisti, ki imena stolpcev v tabeli za vstavljanje preslika na tista v tabeli, ki vsebuje podatke.

Spodnja poizvedba prikazuje njegovo uporabo.

INSERT INTO `category_archive` (id_kategorije, ime_kategorije, opombe) IZBERI id_kategorije, ime_kategorije, opombe IZ` kategorije`;

Izvajanje poizvedbe SELECT

IZBERITE * IZ `category_archive`

daje naslednje rezultate, prikazane spodaj.

id_kategorije ime_kategorije pripombe
1. Komedija Filmi s humorjem
2. Romantično Ljubezenske zgodbe
3. Epsko Zgodba o starodavnih filmih
4. Groza NIČ
5. Znanstvena fantastika NIČ
6. Triler NIČ
7. Ukrepanje NIČ
8. Romantična komedija NIČ
9. Risanke NIČ
10. Risanke NIČ

Primer PHP: vstavite v tabelo MySQL

Funkcija mysqli_query se uporablja za izvajanje poizvedb SQL.

Funkcijo lahko uporabite za izvajanje naslednjih vrst poizvedb;

  • Vstavi
  • Izberite
  • Nadgradnja
  • izbriši

Ima naslednjo sintakso.

mysqli_query($db_handle,$query);

TUKAJ,

"mysqli_query (

…) "Je funkcija, ki izvaja poizvedbe SQL.

"$ query" je poizvedba SQL, ki jo je treba izvesti

"$ link_identifier" ni obvezen, z njim lahko prenesete povezavo do strežniške povezave

Primer

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

Povzetek

  • Ukaz INSERT se uporablja za dodajanje novih podatkov v tabelo. MySql bo po izvedbi ukaza dodal novo vrstico.
  • Vrednosti datuma in nizov morajo biti v enojnih narekovajih.
  • Številskih vrednosti ni treba zapirati v narekovaje.
  • Ukaz INSERT lahko uporabite tudi za vstavljanje podatkov iz ene tabele v drugo.