MySQL INSERT INTO Query: Kuinka lisätä rivi taulukkoon (esimerkki)

Sisällysluettelo:

Anonim

Mikä on INSERT INTO?

INSERT INTO -toimintoa käytetään tietojen tallentamiseen taulukoihin. INSERT-komento luo uuden rivin taulukkoon tietojen tallentamiseksi. Tiedot toimitetaan yleensä tietokannan päällä toimivilla sovellusohjelmilla.

Perussyntaksi

Katsotaanpa INSERT INTO MySQL -komennon perussyntaksi:

INSERT INTO "taulukon_nimi" (sarake_1, sarake_2,…) ARVOT (arvo_1, arvo_2,…);

TÄSSÄ

  • INSERT INTO "taulukon_nimi" on komento, joka käskee MySQL-palvelinta lisäämään uuden rivin taulukkoon nimeltä taulukon_nimi.
  • (sarake_1, sarake_2,…) määrittää sarakkeet, jotka on päivitettävä uudelle MySQL-riville
  • ARVOT (arvo_1, arvo_2,…) määrittää uudelle riville lisättävät arvot

Toimitettaessa uuteen taulukkoon lisättäviä data-arvoja on otettava huomioon seuraavat seikat:

  • Merkkijonotietotyypit - kaikki merkkijonon arvot tulisi sulkea lainausmerkkeihin.
  • Numeeriset tietotyypit - kaikki numeeriset arvot tulee toimittaa suoraan liittämättä niitä yksittäisiin tai kaksoislainausmerkeihin.
  • Päivämäärän tietotyypit - liitä päivämääräarvot lainausmerkkeihin muodossa "VVVV-KK-PP".

Esimerkki:

Oletetaan, että meillä on seuraava luettelo uusista kirjaston jäsenistä, jotka on lisättävä tietokantaan.

Täydelliset nimet Syntymäaika sukupuoli Fyysinen osoite postiosoite Yhteysnumero Sähköpostiosoite
Leonard Hofstadter Uros Woodcrest 0845738767
Sheldon Cooper Uros Woodcrest 0976736763
Rajesh Koothrappali Uros Fairview 0938867763
Leslie Winkle 14/02/1984 Uros 0987636553
Howard Wolowitz 24/08/1981 Uros Eteläpuisto PL 4563 0987786553 Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset JavaScriptin käyttääksesi sitä.

Lisätään tiedot yksitellen. Aloitamme Leonard Hofstadterin kanssa. Käsittelemme yhteyshenkilön numeroa numeerisena tietotyyppinä emmekä liitä numeroa lainausmerkkeihin.

INSERT INTO "jäsenet" ("koko_nimet", "sukupuoli", "fyysinen_osoite", "yhteyshenkilönumero") ARVOT ("Leonard Hofstadter", "Mies", "Woodcrest", 0845738767);

Yllä olevan komentosarjan suorittaminen pudottaa 0 Leonardin yhteyshenkilön numerosta. Tämä johtuu siitä, että arvoa käsitellään numeerisena arvona ja nolla (0) alussa pudotetaan, koska se ei ole merkittävä.

Tällaisten ongelmien välttämiseksi arvo on liitettävä lainausmerkkeihin alla esitetyllä tavalla -

INSERT INTO "jäsenet" ("koko_nimet", "sukupuoli", "fyysinen_osoite", "yhteyshenkilönumero") ARVOT ("Sheldon Cooper", "Mies", "Woodcrest", "0976736763"); 

Edellä olevassa tapauksessa nollaa (0) ei pudota

Sarakkeiden järjestyksen muuttamisella ei ole vaikutusta INSERT-kyselyyn MySQL: ssä, kunhan oikeat arvot on yhdistetty oikeisiin sarakkeisiin.

Alla esitetty kysely osoittaa yllä olevan asian.

INSERT INTO "jäsenet" ("yhteyshenkilönumero", "sukupuoli", "täydelliset_nimet", "fyysinen_osoite") ARVOT ("0938867763", "Mies", "Rajesh Koothrappali", "Woodcrest");

Yllä olevat kyselyt ohittivat syntymäpäivä -sarakkeen. Oletuksena MySQL lisää NULL-arvot sarakkeisiin, jotka jätetään pois INSERT-kyselystä.

Lisätään nyt Leslien tietue, jolla on syntymäaika. Päivämääräarvo tulee liittää lainausmerkkeihin muodossa "VVVV-KK-PP".

INSERT INTO "jäsenet" ("koko_nimet", "syntymäpäivä_," sukupuoli "," fyysinen_osoite "," kontakti_numero ") ARVOT ('Leslie Winkle', '1984-02-14', 'Mies', 'Woodcrest', ' 0987636553 '); 

Kaikki yllä olevat kyselyt määrittivät sarakkeet ja yhdistivät ne MySQL-lisäyslausekkeen arvoihin. Jos toimitamme arvot KAIKKI sarakkeet taulukossa, voimme jättää sarakkeet pois MySQL-lisäyskyselystä.

Esimerkki: -

INSERT INTO jäsenten ARVOT (9, 'Howard Wolowitz', 'Male', '1981-08-24',
'SouthPark', 'PO Box 4563', '0987786553', 'lwolowitz [at] email.me') ;

Katsotaanpa nyt SELECT-käskyä tarkastellaksemme kaikkia jäsenen taulukon rivejä.

SELECT * FROM `members`; 
jäsennumero koko_nimet sukupuoli syntymäaika fyysinen osoite postiosoite cont_ numero sähköposti
1 Janet Jones Nainen 21-07-1980 Ensimmäisen kadun tontti nro 4 Yksityinen laukku 0759 253542 Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset JavaScriptin käyttääksesi sitä.
2 Janet Smith Jones Nainen 23-06-1980 Melrose 123 TYHJÄ TYHJÄ Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset JavaScriptin käyttääksesi sitä.
3 Robert Phil Uros 12-07-1989 3. katu 34 TYHJÄ 12345 Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset JavaScriptin käyttääksesi sitä.
4 Gloria Williams Nainen 14-02-1984 2. katu 23 TYHJÄ TYHJÄ TYHJÄ
5 Leonard Hofstadter Uros TYHJÄ Woodcrest TYHJÄ 845738767 TYHJÄ
6 Sheldon Cooper Uros TYHJÄ Woodcrest TYHJÄ 976736763 TYHJÄ
7 Rajesh Koothrappali Uros TYHJÄ Woodcrest TYHJÄ 938867763 TYHJÄ
8 Leslie Winkle Uros 14-02-1984 Woodcrest TYHJÄ 987636553 TYHJÄ
9 Howard Wolowitz Uros 24-08-1981 Eteläpuisto PL 4563 987786553 Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset JavaScriptin käyttääksesi sitä.

Huomaa, että Leonard Hofstadterin kontaktinumero on pudonnut nollan (0) yhteyshenkilön numerosta. Muut kontaktinumerot eivät ole laskeneet nollaa (0) alussa.

Lisätään taulukkoon toisesta taulukosta

INSERT-komentoa voidaan käyttää myös tietojen lisäämiseen taulukkoon toisesta taulukosta. Perussyntaksi on alla esitetty.

INSERT INTO table_1 SELECT * FROM table_2; 

Katsotaanpa nyt käytännön esimerkkiä. Luomme esittelytarkoituksiin nuken taulukon elokuvaluokille. Kutsumme uutta luokkataulukkoa category_archive. Alla oleva komentosarja luo taulukon.

LUO TAULUKKO `category_archive` (` category_id` int (11) AUTO_INCREMENT, `category_name` varchar (150) DEFAULT NULL,` huomautukset` varchar (500) DEFAULT NULL, PRIMARY KEY (`category_id`)) 

Luo taulukko suorittamalla yllä oleva komentosarja.

Lisätään nyt kaikki luokkataulukon rivit luokkien arkistotaulukkoon. Alla esitetty komentosarja auttaa meitä saavuttamaan sen.

INSERT INTO `category_archive` VALITSE * FROM` luokista`; 

Yllä olevan komentosarjan suorittaminen lisää kaikki luokkataulukon rivit luokkien arkistotaulukkoon. Huomaa, että taulukon rakenteiden on oltava samat, jotta komentosarja toimisi. Vankempi komentosarja on sellainen, joka kartoittaa lisäystaulukon sarakkeiden nimet tietojen taulukossa oleviin nimiin.

Alla esitetty kysely osoittaa sen käytön.

INSERT INTO "categories_archive" (kategoria_id, luokan_nimi, huomautukset) VALITSE category_id, luokan_nimi, huomautukset FROM `kategoriasta`;

Suoritetaan SELECT-kysely

VALITSE * FROM `category_archive`

antaa seuraavat tulokset.

category_id Kategorian nimi huomautukset
1 Komedia Elokuvat huumorilla
2 Romanttinen Rakkaustarinat
3 Eeppinen Tarina-elokuvat
4 Kauhu TYHJÄ
5 Tieteiskirjallisuus TYHJÄ
6 Trilleri TYHJÄ
7 Toiminta TYHJÄ
8 Romanttinen komedia TYHJÄ
9 Sarjakuvat TYHJÄ
10 Sarjakuvat TYHJÄ

PHP-esimerkki: Lisää MySQL-taulukkoon

Mysqli_query-funktiota käytetään SQL-kyselyjen suorittamiseen.

Funktiota voidaan käyttää seuraavien kyselytyyppien suorittamiseen;

  • Lisää
  • Valitse
  • Päivittää
  • poistaa

Sillä on seuraava syntakse.

mysqli_query($db_handle,$query);

TÄSSÄ,

"mysqli_query (

…) "On funktio, joka suorittaa SQL-kyselyt.

"$ query" on suoritettava SQL-kysely

"$ link_identifier" on valinnainen, sitä voidaan käyttää välittämään palvelimen yhteyslinkki

Esimerkki

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

Yhteenveto

  • INSERT-komentoa käytetään lisäämään uusia tietoja taulukkoon. MySql lisää uuden rivin, kun komento on suoritettu.
  • Päivämäärän ja merkkijonon arvot tulee liittää lainausmerkeihin.
  • Numeerisia arvoja ei tarvitse liittää lainausmerkkeihin.
  • INSERT-komentoa voidaan käyttää myös tietojen lisäämiseen taulukosta toiseen.