Pentru a insera o inregistrare noua intr-o tabela, trebuie sa folosesti instructiunea INSERT.
Ea arata in felul urmator:
INSERT [INTO] tabela
[(coloana1, coloana2, coloana3, ...)]
VALUES(valoare1, valoare2, valoare3, ...); |
Daca ai, de exemplu, tabela clienti si vrei sa mai inserezi o inregistrare in ea procedezi in felul urmator:

INSERT INTO clienti
VALUES (NULL, "Irina", "07842657xx", 176.74); |
Tabela va deveni asa:
+----------+-----------+----------+-----------+
| client_id|client_nume| telefon| suma|
+----------+-----------+----------+-----------+
|1 | Mihai|07254524xx| 67,89|
+----------+-----------+----------+-----------+
|2 | Dan|07883217xx| 34,96|
+----------+-----------+----------+-----------+
|3 | Paul|07468691xx| 19,83|
+----------+-----------+----------+-----------+
|4 | George|07203459xx| 109,75|
+----------+-----------+----------+-----------+
|5 | Irina|07842657xx| 176,74|
+----------+-----------+----------+-----------+
|
Am incadrat valorile de tip sir de caractere intre ghilimele. Numerele si datele calendaristice nu au nevoie de asa ceva.
Codul PHP este urmatorul:
<?php
mysql_connect("localhost", "mihai", "ecursuri");
mysql_select_db("test");
$query = "INSERT INTO clienti
VALUES (NULL, 'Irina', '07842657xx', 176.74)";
$result = mysql_query($query) or die(mysql_error());
?> |
Exista cateva lucruri interesante pe care trebuie sa ti le precizez cu privire la instructiunea INSERT:- Valorile pe care le specifici sunt utilizate pentru a completa in ordine coloanele tabelei
- Daca vrei sa completezi doar anumite coloane, vei folosi urmatoarea forma a lui INSERT:
INSERT INTO clienti (nume, telefon, suma)
VALUES ("Irina", "07842657xx", 176.74); |
- Pentru coloana client_id, ai pus o valoare NULL, asta pentru ca este o coloana de tipul AUTO_INCREMENT. Inseamna ca automat s-a inserat urmatoarea valoare din secventa de autoincrementare
Poti insera mai multe randuri deodata in baza de date. Fiecare linie trebuie sa fie incadrata de propria pereche de paranteze, iar seturile separate prin virgula.
Iti voi arata un exemplu mai jos:
INSERT INTO clienti (nume, telefon, suma)
VALUES ("Irina", "07842657xx", 176.74),
("Gigi", "07224584xx", 16.44),
("Marius", "07484817xx", 76.94); |
Tabela va deveni asa:
+----------+-----------+----------+-----------+
| client_id|client_nume| telefon| suma|
+----------+-----------+----------+-----------+
|1 | Mihai|07254524xx| 67,89|
+----------+-----------+----------+-----------+
|2 | Dan|07883217xx| 34,96|
+----------+-----------+----------+-----------+
|3 | Paul|07468691xx| 19,83|
+----------+-----------+----------+-----------+
|4 | George|07203459xx| 109,75|
+----------+-----------+----------+-----------+
|5 | Irina|07842657xx| 176,74|
+----------+-----------+----------+-----------+
|6 | Gigi|07224584xx| 16.44|
+----------+-----------+----------+-----------+
|7 | Marius|07484817xx| 76,94|
+----------+-----------+----------+-----------+
|
Si codul PHP:
<?php
mysql_connect("localhost", "mihai", "ecursuri");
mysql_select_db("test");
$query = "INSERT INTO clienti (nume, telefon, suma)
VALUES ('Irina', '07842657xx', 176.74),
('Gigi', '07224584xx', 16.44),
('Marius', '07484817xx', 76.94)";
$result = mysql_query($query) or die(mysql_error());
?> |
O forma a instructiunii INSERT, cea care foloseste cuvantul cheie IGNORE este folosita pentru a transforma erorile returnate de catre INSERT in simple avertismente. Daca inserezi de exemplu o inregistrare cu un camp cheie duplicat, ea va fi ignorata si instructiunea va rula in continuare.
INSERT IGNORE INTO clienti (nume, telefon, suma)
VALUES ("Irina", "07842657xx", 176.74),
("Gigi", "07224584xx", 16.44),
("Marius", "07484817xx", 76.94); |
Codul PHP:
<?php
mysql_connect("localhost", "mihai", "ecursuri");
mysql_select_db("test");
$query = " INSERT IGNORE INTO clienti (nume, telefon, suma)
VALUES ("Irina", "07842657xx", 176.74),
("Gigi", "07224584xx", 16.44),
("Marius", "07484817xx", 76.94)";
$result = mysql_query($query) or die(mysql_error());
?> | |