MySQL INSERT INTO Query: come aggiungere una riga nella tabella (esempio)

Sommario:

Anonim

Cos'è INSERT INTO?

INSERT INTO viene utilizzato per memorizzare i dati nelle tabelle. Il comando INSERT crea una nuova riga nella tabella per memorizzare i dati. I dati vengono generalmente forniti da programmi applicativi che vengono eseguiti sul database.

Sintassi di base

Diamo un'occhiata alla sintassi di base del comando INSERT INTO MySQL:

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

QUI

  • INSERT INTO "table_name" è il comando che dice al server MySQL di aggiungere una nuova riga in una tabella chiamata "table_name".
  • (column_1, column_2,…) specifica le colonne da aggiornare nella nuova riga MySQL
  • VALUES (value_1, value_2,…) specifica i valori da aggiungere nella nuova riga

Quando si forniscono i valori dei dati da inserire nella nuova tabella, è necessario considerare quanto segue:

  • Tipi di dati stringa: tutti i valori stringa devono essere racchiusi tra virgolette singole.
  • Tipi di dati numerici: tutti i valori numerici devono essere forniti direttamente senza racchiuderli tra virgolette singole o doppie.
  • Tipi di dati della data: racchiudi i valori della data tra virgolette nel formato "AAAA-MM-GG".

Esempio:

Supponiamo di avere il seguente elenco di nuovi membri della libreria che devono essere aggiunti al database.

Nomi completi Data di nascita Genere Indirizzo fisico indirizzo postale Numero di contatto Indirizzo e-mail
Leonard Hofstadter Maschio Woodcrest 0845738767
Sheldon Cooper Maschio Woodcrest 0976736763
Rajesh Koothrappali Maschio Fairview 0938867763
Leslie Winkle 14/02/1984 Maschio 0987636553
Howard Wolowitz 24/08/1981 Maschio Parco Sud PO Box 4563 0987786553 Questo indirizzo email è protetto dagli spambots. Devi abilitare JavaScript per vederlo.

Inseriamo i dati uno per uno. Inizieremo con Leonard Hofstadter. Tratteremo il numero di contatto come un tipo di dati numerico e non racchiuderemo il numero tra virgolette singole.

INSERISCI IN `membri` (` full_names`, `gender`,` physical_address`, `contact_number`) VALORI ('Leonard Hofstadter', 'Male', 'Woodcrest', 0845738767);

L'esecuzione dello script precedente elimina lo 0 dal numero di contatto di Leonard. Questo perché il valore verrà trattato come un valore numerico e lo zero (0) all'inizio viene eliminato poiché non è significativo.

Per evitare tali problemi, il valore deve essere racchiuso tra virgolette singole come mostrato di seguito:

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

Nel caso precedente, zero (0) non verrà eliminato

La modifica dell'ordine delle colonne non ha alcun effetto sulla query INSERT in MySQL fintanto che i valori corretti sono stati mappati alle colonne corrette.

La query mostrata di seguito dimostra il punto precedente.

INSERISCI IN `members` (` contact_number`, `gender`,` full_names`, `physical_address`) VALORI ('0938867763', 'Male', 'Rajesh Koothrappali', 'Woodcrest');

Le query precedenti hanno saltato la colonna della data di nascita. Per impostazione predefinita, MySQL inserirà valori NULL nelle colonne che vengono omesse nella query INSERT.

Inseriamo ora il record per Leslie, di cui è fornita la data di nascita. Il valore della data deve essere racchiuso tra virgolette singole utilizzando il formato "AAAA-MM-GG".

INSERISCI IN `membri` (` full_names`, `date_of_birth`,` gender`, `physical_address`,` contact_number`) VALORI ('Leslie Winkle', '1984-02-14', 'Male', 'Woodcrest', ' 0987636553 '); 

Tutte le query precedenti hanno specificato le colonne e le hanno mappate ai valori nell'istruzione di inserimento di MySQL. Se stiamo fornendo valori per TUTTE le colonne nella tabella, possiamo omettere le colonne dalla query di inserimento MySQL.

Esempio:-

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

Usiamo ora l'istruzione SELECT per visualizzare tutte le righe nella tabella del membro.

SELECT * FROM `members`; 
numero_appartenenza full_ names Genere data di nascita indirizzo fisico indirizzo postale contct_ numero e-mail
1 Janet Jones Femmina 21-07-1980 First Street Plot n. 4 Borsa privata 0759 253 542 Questo indirizzo email è protetto dagli spambots. Devi abilitare JavaScript per vederlo.
2 Janet Smith Jones Femmina 23-06-1980 Melrose 123 NULLO NULLO Questo indirizzo email è protetto dagli spambots. Devi abilitare JavaScript per vederlo.
3 Robert Phil Maschio 12-07-1989 3a strada 34 NULLO 12345 Questo indirizzo email è protetto dagli spambots. Devi abilitare JavaScript per vederlo.
4 Gloria Williams Femmina 14-02-1984 2nd Street 23 NULLO NULLO NULLO
5 Leonard Hofstadter Maschio NULLO Woodcrest NULLO 845738767 NULLO
6 Sheldon Cooper Maschio NULLO Woodcrest NULLO 976736763 NULLO
7 Rajesh Koothrappali Maschio NULLO Woodcrest NULLO 938867763 NULLO
8 Leslie Winkle Maschio 14-02-1984 Woodcrest NULLO 987636553 NULLO
9 Howard Wolowitz Maschio 24-08-1981 Parco Sud PO Box 4563 987786553 Questo indirizzo email è protetto dagli spambots. Devi abilitare JavaScript per vederlo.

Si noti che il numero di contatto di Leonard Hofstadter ha eliminato lo zero (0) dal numero di contatto. Gli altri numeri di contatto non hanno lasciato cadere lo zero (0) all'inizio.

Inserimento in una tabella da un'altra tabella

Il comando INSERT può essere utilizzato anche per inserire dati in una tabella da un'altra tabella. La sintassi di base è quella mostrata di seguito.

INSERT INTO table_1 SELECT * FROM table_2; 

Vediamo ora un esempio pratico. Creeremo una tabella fittizia per le categorie di film a scopo dimostrativo. Chiameremo la nuova tabella delle categorie categories_archive. Lo script mostrato di seguito crea la tabella.

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`)) 

Esegui lo script precedente per creare la tabella.

Inseriamo ora tutte le righe dalla tabella delle categorie nella tabella dell'archivio delle categorie. Lo script mostrato di seguito ci aiuta a raggiungere questo obiettivo.

INSERISCI IN `categories_archive` SELEZIONA * DA` categories`; 

L'esecuzione dello script precedente inserisce tutte le righe dalla tabella delle categorie nella tabella dell'archivio delle categorie. Nota che le strutture delle tabelle dovranno essere le stesse affinché lo script funzioni. Uno script più robusto è quello che mappa i nomi delle colonne nella tabella di inserimento a quelli nella tabella contenente i dati.

La query mostrata di seguito ne dimostra l'utilizzo.

INSERISCI IN `categories_archive` (category_id, category_name, remarks) SELEZIONA category_id, category_name, note FROM` categories`;

Esecuzione della query SELECT

SELEZIONA * DA `categories_archive`

fornisce i seguenti risultati mostrati di seguito.

category_id Nome della categoria osservazioni
1 Commedia Film con umorismo
2 Romantico Storie d'amore
3 Epico Storia di film antichi
4 Orrore NULLO
5 Fantascienza NULLO
6 Romanzo giallo NULLO
7 Azione NULLO
8 Commedia romantica NULLO
9 Cartoni animati NULLO
10 Cartoni animati NULLO

Esempio PHP: inserire nella tabella MySQL

La funzione mysqli_query viene utilizzata per eseguire query SQL.

La funzione può essere utilizzata per eseguire i seguenti tipi di query;

  • Inserire
  • Selezionare
  • Aggiornare
  • Elimina

Ha la seguente sintassi.

mysqli_query($db_handle,$query);

QUI,

"mysqli_query (

...) "è la funzione che esegue le query SQL.

"$ query" è la query SQL da eseguire

"$ link_identifier" è facoltativo, può essere utilizzato per passare il collegamento di connessione al server

Esempio

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

Sommario

  • Il comando INSERT viene utilizzato per aggiungere nuovi dati in una tabella. MySql aggiungerà una nuova riga, una volta eseguito il comando.
  • I valori di data e stringa devono essere racchiusi tra virgolette singole.
  • I valori numerici non devono essere racchiusi tra virgolette.
  • Il comando INSERT può essere utilizzato anche per inserire dati da una tabella a un'altra.