MySQL INSERT INTO Upit: Kako dodati redak u tablicu (primjer)

Sadržaj:

Anonim

Što je INSERT INTO?

INSERT INTO koristi se za pohranu podataka u tablice. Naredba INSERT stvara novi redak u tablici za pohranu podataka. Podaci se obično isporučuju iz aplikacijskih programa koji se izvode na vrhu baze podataka.

Osnovna sintaksa

Pogledajmo osnovnu sintaksu naredbe INSERT INTO MySQL:

INSERT INTO `ime_tabele` (stupac_1, stupac_2, ...) VRIJEDNOSTI (vrijednost_1, vrijednost_2, ...);

OVDJE

  • INSERT INTO `table_name` je naredba koja MySQL poslužitelju dodaje da doda novi redak u tablicu pod nazivom` table_name.`
  • (stupac_1, stupac_2, ...) navodi stupce koji će se ažurirati u novom MySQL retku
  • VRIJEDNOSTI (vrijednost_1, vrijednost_2, ...) određuje vrijednosti koje će se dodati u novi redak

Prilikom davanja vrijednosti podataka koje treba umetnuti u novu tablicu, treba uzeti u obzir sljedeće:

  • Tipovi podataka niza - sve vrijednosti niza trebaju biti zatvorene u pojedinačne navodnike.
  • Numerički tipovi podataka - sve numeričke vrijednosti trebale bi se dostaviti izravno, ne zatvarajući ih u jednostruke ili dvostruke navodnike.
  • Tipovi podataka datuma - priložite vrijednosti datuma u pojedinačne navodnike u formatu 'GGGG-MM-DD'.

Primjer:

Pretpostavimo da imamo sljedeći popis novih članova knjižnice koje treba dodati u bazu podataka.

Puna imena Datum rođenja spol Fizička adresa poštanska adresa Kontakt broj Email adresa
Leonard Hofstadter Muški Woodcrest 0845738767
Sheldon Cooper Muški Woodcrest 0976736763
Rajesh Koothrappali Muški Fairview 0938867763
Leslie Winkle 14.02.1984 Muški 0987636553
Howarda Wolowitza 24.8.1981 Muški Južni park Poštanski pretinac 4563 0987786553 Ova adresa e-pošte zaštićena je od neželjenih robota. Ako ga želite pregledati, potreban vam je Java-skripta.

UMETNIMO podatke jedan po jedan. Započet ćemo s Leonardom Hofstadterom. Kontaktni broj tretirat ćemo kao numeričku vrstu podataka i nećemo ga dodavati u pojedinačne navodnike.

INSERT INTO `members` (` full_names`, `gender`,` physical_address`, `contact_number`) VRIJEDNOSTI ('Leonard Hofstadter', 'Male', 'Woodcrest', 0845738767);

Izvršavanje gornje skripte ispušta 0 s Leonardovog broja za kontakt. To je zato što će se vrijednost tretirati kao numerička vrijednost, a nula (0) na početku se ispušta jer nije značajna.

Da bi se izbjegli takvi problemi, vrijednost mora biti zatvorena u pojedinačne navodnike kao što je prikazano dolje -

INSERT INTO `members` (` full_names`, `gender`,` physical_address`, `contact_number`) VRIJEDNOSTI ('Sheldon Cooper', 'Male', 'Woodcrest', '0976736763'); 

U gornjem slučaju, nula (0) neće biti ispuštena

Promjena redoslijeda stupaca nema utjecaja na INSERT upit u MySQL-u sve dok su ispravne vrijednosti preslikane u ispravne stupce.

Upit prikazan u nastavku pokazuje gornju točku.

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

Gore navedeni upiti preskočili su stupac s datumom rođenja. Prema zadanim postavkama MySQL će umetnuti NULL vrijednosti u stupce koji su izostavljeni u upitu INSERT.

Ubacimo sada zapis za Leslie, koji ima navedeni datum rođenja. Vrijednost datuma treba priložiti u pojedinačne navodnike u formatu 'GGGG-MM-DD'.

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

Svi gore navedeni upiti odredili su stupce i preslikali ih u vrijednosti u MySQL naredbi za umetanje. Ako dostavljamo vrijednosti za SVE stupce u tablici, tada možemo izostaviti stupce iz upita za umetanje MySQL.

Primjer:-

UMETNI U "VRIJEDNOSTI članova (9, 'Howard Wolowitz', 'Muški', '1981-08-24',
'SouthPark', 'PO Box 4563', '0987786553', 'lwolowitz [na] email.me') ;

Upotrijebimo sada naredbu SELECT za pregled svih redaka u članskoj tablici.

SELECT * FROM `members`; 
članski broj puna_ imena spol Datum rođenja fizička adresa poštanska adresa kont._broj e-mail
1 Janet Jones Žena 21-07-1980 Parcela prve ulice br. 4 Privatna torba 0759 253 542 Ova adresa e-pošte zaštićena je od neželjenih robota. Ako ga želite pregledati, potreban vam je Java-skripta.
2 Janet Smith Jones Žena 23-06-1980 Melrose 123 NULL NULL Ova adresa e-pošte zaštićena je od neželjenih robota. Ako ga želite pregledati, potreban vam je Java-skripta.
3 Robert Phil Muški 12-07-1989 3. ulica 34 NULL 12345 Ova adresa e-pošte zaštićena je od neželjenih robota. Ako ga želite pregledati, potreban vam je Java-skripta.
4 Gloria Williams Žena 14-02-1984 2. ulica 23 NULL NULL NULL
5 Leonard Hofstadter Muški NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Muški NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Muški NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Muški 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howarda Wolowitza Muški 24-08-1981 Južni park Poštanski pretinac 4563 987786553 Ova adresa e-pošte zaštićena je od neželjenih robota. Ako ga želite pregledati, potreban vam je Java-skripta.

Primijetite da je kontaktni broj Leonarda Hofstadtera spustio nulu (0) s kontaktnog broja. Ostali brojevi za kontakt na početku nisu spustili nulu (0).

Umetanje u tablicu iz druge tablice

Naredba INSERT također se može koristiti za umetanje podataka u tablicu iz druge tablice. Osnovna sintaksa je kako je prikazano u nastavku.

INSERT INTO table_1 SELECT * FROM table_2; 

Pogledajmo sada praktični primjer. Stvorit ćemo lažnu tablicu za kategorije filmova u demonstracijske svrhe. Tablu novih kategorija nazvat ćemo kategorijama_arhiva. Skripta prikazana u nastavku stvara tablicu.

STVORI TABLICU `category_archive` (` id_kategorije` int (11) AUTO_INCREMENT, `ime_kategorije` varchar (150) DEFAULT NULL,` napomene` varchar (500) DEFAULT NULL, PRIMARNI KLJUČ (`id_kategorije`) 

Izvršite gornju skriptu za stvaranje tablice.

Ubacimo sada sve retke iz tablice kategorija u arhivsku tablicu kategorija. Skripta prikazana u nastavku pomaže nam da to postignemo.

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

Izvršenjem gornje skripte umetću se svi retci iz tablice kategorija u tablicu arhiva kategorija. Imajte na umu da će strukture tablica morati biti iste da bi skripta radila. Robusnija je skripta koja mape naziva stupaca u tablici za umetanje podudara s onima u tablici koja sadrži podatke.

Upit prikazan u nastavku pokazuje njegovu upotrebu.

INSERT INTO `categories_archive` (id_kategorije, ime_kategorije, primjedbe) SELECT category_id, ime_kategorije, primjedbe IZ` kategorija`;

Izvršenje upita SELECT

ODABERITE * IZ `categories_archive`

daje sljedeće rezultate prikazane u nastavku.

id_kategorije ime kategorije opaske
1 Komedija Filmovi s humorom
2 Romantično Ljubavne priče
3 Ep Priča o drevnim filmovima
4 Užas NULL
5 Znanstvena fantastika NULL
6 Triler NULL
7 Akcijski NULL
8 Romantična komedija NULL
9 Crtani filmovi NULL
10 Crtani filmovi NULL

Primjer PHP-a: Umetnite u MySQL tablicu

Funkcija mysqli_query koristi se za izvršavanje SQL upita.

Funkcija se može koristiti za izvršavanje sljedećih vrsta upita;

  • Umetnuti
  • Izaberi
  • Ažuriraj
  • izbrisati

Ima sljedeću sintaksu.

mysqli_query($db_handle,$query);

OVDJE,

"mysqli_query (

...) "je funkcija koja izvršava SQL upite.

"$ query" je SQL upit koji treba izvršiti

"$ link_identifier" nije obavezan, može se koristiti za prosljeđivanje veze veze poslužitelja

Primjer

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

Sažetak

  • Naredba INSERT koristi se za dodavanje novih podataka u tablicu. MySql će dodati novi redak, nakon izvršavanja naredbe.
  • Vrijednosti datuma i niza trebaju se nalaziti u pojedinačnim navodnicima.
  • Numeričke vrijednosti ne trebaju se stavljati u navodnike.
  • Naredba INSERT također se može koristiti za umetanje podataka iz jedne tablice u drugu.