MySQL INSERT INTO Query: How to add Row in Table (Exemplu)

Cuprins:

Anonim

Ce este INSERT INTO?

INSERT INTO este folosit pentru a stoca date în tabele. Comanda INSERT creează un nou rând în tabel pentru stocarea datelor. Datele sunt de obicei furnizate de programele de aplicații care rulează deasupra bazei de date.

Sintaxa de bază

Să ne uităm la sintaxa de bază a comenzii INSERT INTO MySQL:

INSERAȚI ÎN „nume_tabel” (coloană_1, coloană_2, ...) VALORI (valoare_1, valoare_2, ...);

AICI

  • INSERT INTO `table_name` este comanda care îi spune serverului MySQL să adauge un rând nou într-un tabel numit„ table_name ”.
  • (coloana_1, coloana_2, ...) specifică coloanele care trebuie actualizate în noul rând MySQL
  • VALORI (valoare_1, valoare_2, ...) specifică valorile care trebuie adăugate în noul rând

La furnizarea valorilor de date care urmează să fie inserate în noul tabel, trebuie luate în considerare următoarele:

  • Tipuri de date șir - toate valorile șirului ar trebui să fie încadrate între ghilimele unice.
  • Tipuri de date numerice - toate valorile numerice trebuie furnizate direct fără a le încadra în ghilimele simple sau duble.
  • Tipuri de date date - atașați valorile datei între ghilimele unice în formatul „AAAA-LL-ZZ”.

Exemplu:

Să presupunem că avem următoarea listă de noi membri ai bibliotecii care trebuie adăugați la baza de date.

Nume complete Data nașterii gen Adresă fizică adresa postala Numar de contact Adresa de email
Leonard Hofstadter Masculin Woodcrest 0845738767
Sheldon Cooper Masculin Woodcrest 0976736763
Rajesh Koothrappali Masculin Fairview 0938867763
Leslie Winkle 14/02/1984 Masculin 0987636553
Howard Wolowitz 24/08/1981 Masculin Parcul din sud Căsuța poștală 4563 0987786553 Această adresă de e-mail este protejată de spamboți. Aveți nevoie de JavaScript activat pentru ao vizualiza.

Să INSERI date unul câte unul. Vom începe cu Leonard Hofstadter. Vom trata numărul de contact ca pe un tip numeric de date și nu vom include numărul între ghilimele unice.

INSERT INTO `members` (` full_names`, `gender`,` physical_address`, `contact_number`) VALORI („ Leonard Hofstadter ”,„ Male ”,„ Woodcrest ”, 0845738767);

Executarea scriptului de mai sus scade 0 din numărul de contact al lui Leonard. Acest lucru se datorează faptului că valoarea va fi tratată ca o valoare numerică, iar zero (0) la început este scăzut, deoarece nu este semnificativ.

Pentru a evita astfel de probleme, valoarea trebuie să fie inclusă între ghilimele simple, după cum se arată mai jos -

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

În cazul de mai sus, zero (0) nu va fi eliminat

Modificarea ordinii coloanelor nu are niciun efect asupra interogării INSERT în MySQL, atâta timp cât valorile corecte au fost mapate la coloanele corecte.

Interogarea prezentată mai jos demonstrează punctul de mai sus.

INSERAȚI ÎN „membrii” („contact_number”, „gender”, „full_names”, „physical_address”) VALORI („0938867763”, „Male”, „Rajesh Koothrappali”, „Woodcrest”);

Interogările de mai sus au omis coloana cu data nașterii. În mod implicit, MySQL va insera valori NULL în coloanele care sunt omise în interogarea INSERT.

Să introducem acum înregistrarea pentru Leslie, care are data de naștere furnizată. Valoarea datei trebuie să fie inclusă între ghilimele unice, utilizând formatul „AAAA-LL-ZZ”.

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

Toate interogările de mai sus au specificat coloanele și le-au mapat la valori din instrucțiunea de inserare MySQL. Dacă furnizăm valori pentru TOATE coloanele din tabel, atunci putem omite coloanele din interogarea de inserare MySQL.

Exemplu:-

INSERAȚI ÎN VALORILE „membrilor” (9, „Howard Wolowitz”, „Masculin”, „1981-08-24”,
„SouthPark”, „PO Box 4563”, „0987786553”, „lwolowitz [at] email.me”) ;

Să folosim acum instrucțiunea SELECT pentru a vizualiza toate rândurile din tabelul membru.

SELECT * FROM `members`; 
numar de membru nume complete gen Data de nastere adresă fizică adresa postala număr contct_ e-mail
1 Janet Jones Femeie 21-07-1980 Primul teren, strada nr. 4 Geantă privată 0759 253 542 Această adresă de e-mail este protejată de spamboți. Aveți nevoie de JavaScript activat pentru ao vizualiza.
2 Janet Smith Jones Femeie 23-06-1980 123 NUL NUL Această adresă de e-mail este protejată de spamboți. Aveți nevoie de JavaScript activat pentru ao vizualiza.
3 Robert Phil Masculin 07-07-1989 Strada 3 34 NUL 12345 Această adresă de e-mail este protejată de spamboți. Aveți nevoie de JavaScript activat pentru ao vizualiza.
4 Gloria Williams Femeie 14-02-1984 Strada 2 23 NUL NUL NUL
5 Leonard Hofstadter Masculin NUL Woodcrest NUL 845738767 NUL
6 Sheldon Cooper Masculin NUL Woodcrest NUL 976736763 NUL
7 Rajesh Koothrappali Masculin NUL Woodcrest NUL 938867763 NUL
8 Leslie Winkle Masculin 14-02-1984 Woodcrest NUL 987636553 NUL
9 Howard Wolowitz Masculin 24-08-1981 Parcul din sud Căsuța poștală 4563 987786553 Această adresă de e-mail este protejată de spamboți. Aveți nevoie de JavaScript activat pentru ao vizualiza.

Observați că numărul de contact pentru Leonard Hofstadter a scăzut zero (0) din numărul de contact. Celelalte numere de contact nu au scăzut zero (0) la început.

Inserarea într-un tabel dintr-un alt tabel

Comanda INSERT poate fi utilizată și pentru a insera date într-un tabel dintr-un alt tabel. Sintaxa de bază este cea prezentată mai jos.

INSERT INTO table_1 SELECT * FROM table_2; 

Să vedem acum un exemplu practic. Vom crea un tabel fals pentru categoriile de filme în scop demonstrativ. Vom numi noul tabel de categorii categories_archive. Scriptul prezentat mai jos creează tabelul.

CREATE TABLE `categories_archive` (` category_id` int (11) AUTO_INCREMENT, `category_name` varchar (150) DEFAULT NULL,` remarks` varchar (500) DEFAULT NULL, CHEIE PRIMARĂ (`category_id`)) 

Executați scriptul de mai sus pentru a crea tabelul.

Să introducem acum toate rândurile din tabelul categoriilor în tabelul arhivei categoriilor. Scriptul prezentat mai jos ne ajută să realizăm acest lucru.

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

Executarea scriptului de mai sus introduce toate rândurile din tabelul categoriilor în tabelul arhivei categoriilor. Rețineți că structurile tabelelor vor trebui să fie aceleași pentru ca scriptul să funcționeze. Un script mai robust este unul care mapează numele coloanelor din tabelul de inserare la cele din tabelul care conține datele.

Interogarea prezentată mai jos demonstrează utilizarea acesteia.

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

Executarea interogării SELECT

SELECT * FROM `categories_archive`

oferă următoarele rezultate prezentate mai jos.

categorie_id Numele categoriei remarci
1 Comedie Filme cu umor
2 Romantic Povesti de dragoste
3 Epic Filme istorice
4 Groază NUL
5 Operă științifico-fantastică NUL
6 Thriller NUL
7 Acțiune NUL
8 Comedie romantica NUL
9 Desene animate NUL
10 Desene animate NUL

Exemplu PHP: introduceți în tabelul MySQL

Funcția mysqli_query este utilizată pentru a executa interogări SQL.

Funcția poate fi utilizată pentru a executa următoarele tipuri de interogări;

  • Introduce
  • Selectați
  • Actualizați
  • șterge

Are următoarea sintaxă.

mysqli_query($db_handle,$query);

AICI,

"mysqli_query (

...) "este funcția care execută interogările SQL.

„$ interogare” este interogarea SQL care trebuie executată

„$ link_identifier” este opțional, poate fi folosit pentru a trece în legătura de conexiune server

Exemplu

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

rezumat

  • Comanda INSERT este utilizată pentru a adăuga date noi într-un tabel. MySql va adăuga un rând nou, odată ce comanda este executată.
  • Datele și valorile șirului trebuie să fie cuprinse între ghilimele unice.
  • Valorile numerice nu trebuie să fie cuprinse între ghilimele.
  • Comanda INSERT poate fi utilizată și pentru a insera date dintr-un tabel în altul.