MariaDB INSERT INTO: come inserire dati nelle tabelle
Il comando INSERT INTO in MariaDB consente di aggiungere nuovi record a una tabella già esistente. Si tratta di uno dei comandi SQL fondamentali, utilizzato per aggiungere nuovi dati a un database o ampliare le informazioni già presenti.
Cos’è il comando INSERT in MariaDB?
Il comando INSERT in MariaDB consente di inserire nuovi dati in una tabella, aggiungendo intere righe alla struttura esistente. Ogni volta che un utente si registra, invia un modulo o crea un nuovo prodotto, il sistema esegue in background il comando INSERT INTO.
Durante l’inserimento, MariaDB verifica che i valori corrispondano ai tipi di dati delle colonne e che tutti i campi obbligatori siano compilati. Se i valori violano restrizioni quali NOT NULL, UNIQUE o FOREIGN KEY, il database rifiuta l’operazione. Pertanto, la struttura della tabella di destinazione e l’indicazione corretta delle colonne sono fondamentali per l’utilizzo di INSERT.
Qual è la sintassi del comando INSERT INTO in MariaDB?
La sintassi standard per INSERT INTO è:
INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3);sqltable_nameindica la tabella di destinazione, dove i dati verranno scritti.- L’elenco delle colonne (
column1, column2, ...) è facoltativo, ma consigliato. - Nel campo
VALUESsi specificano i valori da inserire nelle colonne indicate.
I valori vengono associati alle colonne secondo l’ordine definito. Se il numero o l’ordine dei valori non corrisponde a quello delle colonne, si verifica un errore.
- vCPU estremamente vantaggiose e potenti core dedicati
- Massima flessibilità senza periodo contrattuale minimo
- Servizio di assistenza tecnica 24 ore su 24, 7 giorni su 7
Quali parametri e varianti esistono per INSERT INTO in MariaDB?
Il comando INSERT INTO è flessibile e può essere adattato a diversi casi d’uso. Le principali varianti sono:
Elenco delle colonne
È possibile indicare tutte le colonne o solo alcune. Se non viene specificato l’elenco delle colonne, MariaDB si aspetterà un valore per ogni colonna definita nella tabella, nello stesso ordine in cui sono state create.
INSERT INTO users VALUES (1, 'Anna', 'anna@example.com');sqlSe desideri compilare solo colonne specifiche, esegui il seguente comando:
INSERT INTO users (name, email) VALUES ('Anna', 'anna@example.com');sqlIn questo caso, vengono compilati solo i campi name ed email.
Inserire più righe
Questa sintassi è più efficiente rispetto a più comandi MariaDB INSERT singoli, soprattutto in caso di grandi volumi di dati:
INSERT INTO products (name, price)
VALUES ('pen', 1.50),
('notepad', 2.00),
('bag', 9.90);sqlINSERT IGNORE
Con il comando IGNORE, MariaDB ignora le righe che violano le restrizioni e continua con le restanti.
INSERT IGNORE INTO users (id, name) VALUES (1, 'Anna');sqlINSERT ... ON DUPLICATE KEY UPDATE
Questa sintassi permette di aggiornare una riga esistente in caso di conflitto su una chiave univoca:
INSERT INTO users (id, name)
VALUES (1, 'Anna')
ON DUPLICATE KEY UPDATE name = 'Anna';sqlÈ utile per combinare inserimento e aggiornamento in un’unica istruzione, ad esempio nei processi di importazione, sincronizzazione o operazioni automatizzate.
Inserire i dati con SELECT
Con SELECT puoi copiare record da una tabella all’altra:
INSERT INTO archive_orders (id, status)
SELECT id, status FROM orders WHERE status = 'completed';sqlEsempi d’uso per il comando INSERT INTO in MariaDB
Di seguito alcuni scenari pratici per l’uso di INSERT INTO.
Registrazione utenti
In questo esempio, MariaDB aggiunge una nuova persona alla tabella users. I valori delle colonne name ed email provengono da un modulo o da un’applicazione. Il valore NOW() restituisce la marca temporale della registrazione, ovvero il momento esatto in cui l’utente si registra:
INSERT INTO users (name, email, created_at)
VALUES ('Lena', 'lena@example.com', NOW());sqlQuesto metodo è adatto ai moduli web di registrazione, dove ogni inserimento viene registrato direttamente nel database. È importante che created_at sia di tipo DATETIME o TIMESTAMP, in modo che NOW() venga memorizzato correttamente.
Copiare dati da un’altra tabella
Questo esempio mostra come trasferire dati esistenti da una tabella (orders) a un’altra tabella (archive_orders). MariaDB seleziona tutti gli ordini con lo stato 'completed' e trasferisce le colonne id e status.
INSERT INTO archive_orders (id, status)
SELECT id, status FROM orders WHERE status = 'completed';sqlQuesti comandi vengono utilizzati per l’archiviazione, la pulizia dei dati e la creazione di report. Ricordati di verificare sempre che la struttura, ad esempio i tipi di colonna, sia la stessa nella tabella di origine e nella tabella di destinazione, altrimenti MariaDB non eseguirà il comando.
- Partner IONOS Cloud
- Soluzioni flessibili e su misura
- Data center situati in Europa

