MySQL INSERT INTO Query: Kuidas lisada tabelisse rida (näide)

Lang L: none (table-of-contents):

Anonim

Mis on INSERT INTO?

INSERT INTO kasutatakse andmete salvestamiseks tabelitesse. Käsk INSERT loob tabelisse uue rea andmete salvestamiseks. Andmeid edastavad tavaliselt rakendusprogrammid, mis töötavad andmebaasi peal.

Põhisüntaks

Vaatame käsu INSERT INTO MySQL põhisüntaksit:

INSERT INTO tabeli_nimi (veerg_1, veerg_2,…) VALUES (väärtus_1, väärtus_2,…);

SIIN

  • INSERT INTO "table_name" on käsk, mis käsib MySQL-serveril lisada tabelisse "table_name" uue rea.
  • (veerg_1, veerg_2,…) määrab värskendatavad veerud uues MySQL-i real
  • VALUES (väärtus_1, väärtus_2,…) määrab väärtused, mis lisatakse uude ritta

Uude tabelisse lisatavate andmeväärtuste edastamisel tuleks arvesse võtta järgmist:

  • Stringi andmetüübid - kõik stringi väärtused peaksid olema ümbritsetud üksikute jutumärkidega.
  • Numbrilised andmetüübid - kõik arvväärtused tuleks edastada otse, lisamata neid ühe- või topelt jutumärkidesse.
  • Kuupäeva andmetüübid - kuupäeva väärtused lisatakse jutumärkidesse kujul „AAAA-KK-PP“.

Näide:

Oletame, et meil on järgmine loend uutest raamatukogu liikmetest, kes tuleb andmebaasi lisada.

Täisnimed Sünnikuupäev sugu Füüsiline aadress postiaadress Kontakti number E-posti aadress
Leonard Hofstadter Mees Puidupuust 0845738767
Sheldon Cooper Mees Puidupuust 0976736763
Rajesh Koothrappali Mees Fairview 0938867763
Leslie Winkle 14.02.1984 Mees 0987636553
Howard Wolowitz 24.08.1981 Mees South Park Postkast 4563 0987786553 See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.

Sisestame andmed ükshaaval. Alustame Leonard Hofstadteriga. Käsitleme kontakti numbrit arvulise andmetüübina ja ei pane numbrit ühte jutumärki.

INSERT INTO "liikmed" ("täisnimed", "sugu", "füüsiline aadress", "kontaktnumber") VÄÄRTUSED ("Leonard Hofstadter", "Mees", "Woodcrest", 0845738767);

Ülaltoodud skripti käivitamisel langeb Leonardi kontaktnumbrilt 0. Seda seetõttu, et väärtust käsitletakse arvväärtusena ja alguses null (0) langeb, kuna see pole oluline.

Selliste probleemide vältimiseks tuleb väärtus lisada üksikutesse jutumärkidesse, nagu allpool näidatud -

INSERT INTO "liikmed" ("täisnimed", "sugu", "füüsiline aadress", "kontaktnumber") VÄÄRTUSED ("Sheldon Cooper", "Mees", "Woodcrest", "0976736763"); 

Ülaltoodud juhul nulli (0) ei langeta

Veergude järjekorra muutmine ei mõjuta MySQL-i päringut INSERT, kui õiged väärtused on õigete veergudega kaardistatud.

Allpool toodud päring näitab ülaltoodud punkti.

INSERT INTO "liikmed" ("kontakti_number", "sugu", "täisnimed", "füüsiline aadress") VÄÄRTUSED ("0938867763", "Mees", "Rajesh Koothrappali", "Woodcrest");

Ülaltoodud päringud jätsid sünnikuupäeva veeru vahele. Vaikimisi lisab MySQL veergudesse NULL väärtused, mis on päringus INSERT välja jäetud.

Lisame nüüd Leslie registri, millel on sünnikuupäev. Kuupäeva väärtus tuleks lisada üksikutesse jutumärkidesse, kasutades vormingut „AAAA-KK-PP“.

INSERT INTO "liikmed" ("täisnimed", "sünnikuupäev", "sugu", "füüsiline aadress", "kontakti number") VÄÄRTUSED ("Leslie Winkle", "1984-02-14", "Mees", "Woodcrest", " 0987636553 '); 

Kõik ülaltoodud päringud täpsustasid veerge ja vastendasid need MySQL-i sisestuslause väärtustele. Kui esitame tabeli KÕIKI veergude väärtused, siis võime veerud MySQL-i sisestuspäringust välja jätta.

Näide: -

INSERT INTO "liikmete" VÄÄRTUSED (9, "Howard Wolowitz", "Male", "1981-08-24",
"SouthPark", "PO Box 4563", "0987786553", "lwolowitz [at] email.me") ;

Kasutame nüüd liikme tabeli kõigi ridade vaatamiseks käsku SELECT.

SELECT * FROM `members`; 
liikmenumber täis_nimed sugu sünnikuupäev füüsiline_aadress postiaadress cont_ number e-post
1 Janet Jones Naine 21-07-1980 Esimese tänava krunt nr 4 Privaatne kott 0759 253 542 See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.
2 Janet Smith Jones Naine 23.06.1980 Melrose 123 NULL NULL See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.
3 Robert Phil Mees 12-07-1989 3. tänav 34 NULL 12345 See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.
4 Gloria Williams Naine 14-02-1984 2. tänav 23 NULL NULL NULL
5 Leonard Hofstadter Mees NULL Puidupuust NULL 845738767 NULL
6 Sheldon Cooper Mees NULL Puidupuust NULL 976736763 NULL
7 Rajesh Koothrappali Mees NULL Puidupuust NULL 938867763 NULL
8 Leslie Winkle Mees 14-02-1984 Puidupuust NULL 987636553 NULL
9 Howard Wolowitz Mees 24-08-1981 South Park Postkast 4563 987786553 See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.

Pange tähele, et Leonard Hofstadteri kontaktnumber on kontakti numbrilt nulli (0) langenud. Ülejäänud kontaktnumbrid pole alguses nulli (0) langetanud.

Lisamine teisest tabelist tabelisse

INSERT käsku saab kasutada ka andmete lisamiseks teise tabeli tabelisse. Põhisüntaks on selline, nagu allpool näidatud.

INSERT INTO table_1 VALI * FROM table_2; 

Vaatame nüüd praktilist näidet. Loome demonstratsiooniks filmi kategooriate jaoks näiv tabeli. Nimetame uut kategooriate tabelit kategooriate_arhiiviks. Allpool toodud skript loob tabeli.

CREATE TABEL `categories_archive` (` category_id` int (11) AUTO_INCREMENT, `category_name` varchar (150) DEFAULT NULL,` märkused` varchar (500) DEFAULT NULL, PRIMARY KEY (`category_id`)) 

Tabeli loomiseks käivitage ülaltoodud skript.

Lisagem nüüd kõik kategooriate tabeli read kategooriate arhiivitabelisse. Allpool toodud skript aitab meil seda saavutada.

INSERT INTO "kategooriate_arhiiv" VALI * kategooriatest "; 

Ülaltoodud skripti käivitamine lisab kõik kategooriate tabeli read kategooriate arhiivitabelisse. Pange tähele, et skripti tööks peavad tabelistruktuurid olema samad. Tugevam skript on see, mis kaardistab sisestustabeli veergude nimed andmeid sisaldava tabeli omadega.

Allpool toodud päring näitab selle kasutamist.

INSERT INTO "kategooriate_arhiiv" (kategooria_id, kategooria_nimi, märkused) SELECT category_id, kategooria_nimi, märkused FROM `kategooriatest ';

SELECT-päringu käivitamine

VALI * FROM `kategooriate_arhiivist '

annab järgmised tulemused.

category_id kategooria_nimi märkused
1 Komöödia Huumoriga filmid
2 Romantiline Armulood
3 Eepiline Jutukad filmid
4 Õudus NULL
5 Ulme NULL
6 Põnevik NULL
7 Tegevus NULL
8 Romantiline komöödia NULL
9 Multikad NULL
10 Multikad NULL

PHP näide: sisestage MySQL-i tabelisse

Funktsiooni mysqli_query kasutatakse SQL-i päringute täitmiseks.

Funktsiooni saab kasutada järgmiste päringutüüpide täitmiseks;

  • Sisesta
  • Valige
  • Uuenda
  • kustuta

Sellel on järgmine süntaks.

mysqli_query($db_handle,$query);

SIIN,

"mysqli_query (

...) "on funktsioon, mis täidab SQL-päringuid.

"$ query" on käivitatav SQL-päring

"$ link_identifier" on valikuline, seda saab kasutada serveri ühenduse lingi sisestamiseks

Näide

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

Kokkuvõte

  • INSERT käsku kasutatakse uute andmete lisamiseks tabelisse. Kui käsk on täidetud, lisab MySql uue rea.
  • Kuupäev ja stringi väärtused tuleks lisada üksikute jutumärkidesse.
  • Numbrilisi väärtusi pole vaja jutumärkidesse lisada.
  • INSERT käsku saab kasutada ka andmete sisestamiseks ühest tabelist teise.