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

ล to je INSERT INTO?

UMETNUTI U koristi se za pohranu podataka u tablice. Naredba INSERT stvara novi red u tablici za pohranu podataka. Podatke obiฤno dostavljaju aplikacijski programi koji se pokreฤ‡u povrh baze podataka.

Osnovna sintaksa

Pogledajmo osnovnu sintaksu INSERT INTO MySQL naredba:

INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);

OVDJE

  • INSERT INTO `table_name` je naredba koja govori MySQL posluลพitelj za dodavanje novog reda u tablicu pod nazivom `table_name.`
  • (column_1,column_2,โ€ฆ) navodi stupce koji ฤ‡e se aลพurirati u novom MySQL red
  • VRIJEDNOSTI (vrijednost_1,vrijednost_2,โ€ฆ) navodi vrijednosti koje treba dodati u novi red

Prilikom unosa vrijednosti podataka koje treba umetnuti u novu tablicu, treba uzeti u obzir sljedeฤ‡e:

  • Vrste podataka niza โ€“ sve vrijednosti niza trebaju biti u jednostrukim navodnicima.
  • Numeriฤki tipovi podataka - sve numeriฤke vrijednosti treba dostaviti izravno bez zatvaranja u jednostruke ili dvostruke navodnike.
  • Vrste datumskih podataka โ€“ stavite datumske vrijednosti u jednostruke navodnike u formatu 'GGGG-MM-DD'.


Primjer:

Pretpostavimo da imamo sljedeฤ‡i popis novih ฤlanova knjiลพnice koje je potrebno dodati u bazu podataka.

Puna imena Datum roฤ‘enja rod 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/08/1981 Muลกki South Park PO Box 4563 0987786553 lwolowitz@email.me

UMETNIMO podatke jedan po jedan. Poฤet ฤ‡emo s Leonardom Hofstadterom. Broj kontakta tretirat ฤ‡emo kao numeriฤku vrstu podataka i neฤ‡emo ga staviti u jednostruke navodnike.

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

Izvrลกavanje gornje skripte ispuลกta 0 s Leonardovog kontakt broja. 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 biste izbjegli takve probleme, vrijednost mora biti zatvorena u jednostruke navodnike kao ลกto je prikazano u nastavku โ€“

INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`)  VALUES ('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 sve dok su ispravne vrijednosti mapirane u ispravne stupce.

Upit prikazan u nastavku pokazuje gornju toฤku.

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

Gornji upiti preskoฤili su stupac datuma roฤ‘enja. Prema zadanim postavkama MySQL umetnut ฤ‡e NULL vrijednosti u stupce koji su izostavljeni u INSERT upitu.

Ubacimo sada zapis za Leslie, koji ima datum roฤ‘enja. Vrijednost datuma treba biti u jednostrukim navodnicima u formatu 'GGGG-MM-DD'.

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

Svi gornji upiti specificirali su stupce i preslikali ih na vrijednosti u MySQL umetnuti izjavu. Ako unosimo vrijednosti za SVE stupce u tablici, tada moลพemo izostaviti stupce iz MySQL umetnite upit.

Primjer:-

INSERT INTO `members`  VALUES (9,'Howard Wolowitz','Male','1981-08-24',
'SouthPark','P.O. Box 4563', '0987786553', 'lwolowitz[at]email.me');

Iskoristimo sada SELECT izraz za pregled svih redaka u tablici ฤlanova.

SELECT * FROM `members`;
ฤlanski broj puna_ imena rod Datum roฤ‘enja fiziฤka adresa poลกtanska adresa kontakt_ broj e-mail
1 Janet Jones ลพenski 21-07-1980 Prva ulica Parcela broj 4 Privatna torba 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones ลพenski 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Muลกki 12-07-1989 3. ulica 34 NULL 12345 rm@tstreet.com
4 Gloria Williams ลพenski 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 0976736763 NULL
7 Rajesh Koothrappali Muลกki NULL Woodcrest NULL 0938867763 NULL
8 Leslie Winkle Muลกki 14-02-1984 Woodcrest NULL 0987636553 NULL
9 Howarda Wolowitza Muลกki 24-08-1981 Juลพni park PO Box 4563 0987786553 lwolowitz@email.me

Primijetite da je broj za kontakt Leonarda Hofstadtera izbacio nulu (0) iz broja za kontakt. Ostali kontakt brojevi nisu ispustili nulu (0) na poฤetku.

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 prikazana u nastavku.

INSERT INTO table_1 SELECT * FROM table_2;

Pogledajmo sada praktiฤan primjer. Napravit ฤ‡emo laลพnu tablicu za kategorije filmova u svrhu demonstracije. Novu tablicu kategorija nazvat ฤ‡emo kategorije_arhiva. Skripta prikazana u nastavku stvara tablicu.

CREATE TABLE `categories_archive` (    	  `category_id` int(11) AUTO_INCREMENT,    	  `category_name` varchar(150)  DEFAULT NULL,    	  `remarks` varchar(500) DEFAULT NULL,    	  PRIMARY KEY (`category_id`))

Izvrลกite gornju skriptu za izradu tablice.

Umetnimo sada sve retke iz tablice kategorija u tablicu arhive kategorija. Skripta prikazana u nastavku pomaลพe nam u tome.

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

Izvrลกavanje gornje skripte umeฤ‡e sve retke iz tablice kategorija u tablicu arhive kategorija. Imajte na umu da ฤ‡e strukture tablice morati biti iste da bi skripta radila. Robusnija skripta je ona koja preslikava nazive stupaca u tablici umetanja u one u tablici koja sadrลพi podatke.

Upit prikazan u nastavku pokazuje njegovu upotrebu.

INSERT INTO `categories_archive`(category_id,category_name,remarks)  SELECT category_id,category_name,remarks FROM `categories`;

Izvrลกavanje SELECT upita

SELECT * FROM `categories_archive`

daje sljedeฤ‡e rezultate prikazane u nastavku.

kategorija_id category_name primjedbe
1 Komedija Filmovi s humorom
2 Romantiฤan Ljubavne priฤe
3 Ep Priฤa drevnih filmova
4 Uลพas NULL
5 Nauฤna fantastika NULL
6 triler NULL
7 Akcijski NULL
8 Romantiฤna komedija NULL
9 Crtiฤ‡i NULL
10 Crtiฤ‡i NULL

Primjer PHP-a: Umetni u MySQL Stol

Za izvoฤ‘enje se koristi funkcija mysqli_query SQL upita.

Funkcija SQL umetanja u tablicu moลพe se koristiti za izvrลกavanje sljedeฤ‡ih vrsta upita:

  • umetak
  • odabrati
  • Nadopune
  • 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 connection
if (!$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".'<br>';
		} else {
		echo "Error: " . $sql. "<br>" . mysqli_error($conn);
	}
}

Rezime

  • Naredba INSERT koristi se za dodavanje novih podataka u tablicu. MySql ฤ‡e dodati novi red nakon ลกto se naredba izvrลกi.
  • Vrijednosti datuma i niza trebaju biti u jednostrukim navodnicima.
  • Numeriฤke vrijednosti ne moraju biti u navodnicima.
  • Naredba INSERT takoฤ‘er se moลพe koristiti za umetanje podataka iz jedne tablice u drugu.

Saลพmite ovu objavu uz: