Python SQLite - Inserisci dati
È possibile aggiungere nuove righe a una tabella esistente di SQLite utilizzando l'istruzione INSERT INTO. In questo, è necessario specificare il nome della tabella, i nomi delle colonne e i valori (nello stesso ordine dei nomi delle colonne).
Sintassi
Di seguito è riportata la sintassi consigliata dell'istruzione INSERT:
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
Dove, colonna1, colonna2, colonna3, .. sono i nomi delle colonne di una tabella e valore1, valore2, valore3, ... sono i valori che devi inserire nella tabella.
Esempio
Supponiamo di aver creato una tabella con il nome CRICKETERS utilizzando l'istruzione CREATE TABLE come mostrato di seguito -
sqlite> CREATE TABLE CRICKETERS (
First_Name VARCHAR(255),
Last_Name VARCHAR(255),
Age int,
Place_Of_Birth VARCHAR(255),
Country VARCHAR(255)
);
sqlite>
La seguente istruzione PostgreSQL inserisce una riga nella tabella creata sopra.
sqlite> insert into CRICKETERS
(First_Name, Last_Name, Age, Place_Of_Birth, Country) values
('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
sqlite>
Durante l'inserimento di record utilizzando l'istruzione INSERT INTO, se si salta qualsiasi nome di colonna, questo record verrà inserito lasciando spazi vuoti nelle colonne che sono state ignorate.
sqlite> insert into CRICKETERS
(First_Name, Last_Name, Country) values
('Jonathan', 'Trott', 'SouthAfrica');
sqlite>
Puoi anche inserire record in una tabella senza specificare i nomi delle colonne, se l'ordine dei valori passati è lo stesso dei rispettivi nomi delle colonne nella tabella.
sqlite> insert into CRICKETERS values('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
sqlite> insert into CRICKETERS values('Virat', 'Kohli', 30, 'Delhi', 'India');
sqlite> insert into CRICKETERS values('Rohit', 'Sharma', 32, 'Nagpur', 'India');
sqlite>
Dopo aver inserito i record in una tabella è possibile verificarne il contenuto utilizzando l'istruzione SELECT come mostrato di seguito -
sqlite> select * from cricketers;
Shikhar | Dhawan | 33 | Delhi | India
Jonathan | Trott | | | SouthAfrica
Kumara | Sangakkara | 41 | Matale | Srilanka
Virat | Kohli | 30 | Delhi | India
Rohit | Sharma | 32 | Nagpur | India
sqlite>
Inserimento di dati utilizzando Python
Per aggiungere record a una tabella esistente nel database SQLite:
Importa pacchetto sqlite3.
Creare un oggetto connessione utilizzando il metodo connect () passando il nome del database come parametro ad esso.
Il cursor()restituisce un oggetto cursore utilizzando il quale è possibile comunicare con SQLite3. Crea un oggetto cursore invocando l'oggetto cursore () sull'oggetto Connection (creato sopra).
Quindi, invoca il metodo execute () sull'oggetto cursore, passando un'istruzione INSERT come parametro ad esso.
Esempio
L'esempio seguente di Python inserisce i record in una tabella denominata EMPLOYEE -
import sqlite3
#Connecting to sqlite
conn = sqlite3.connect('example.db')
#Creating a cursor object using the cursor() method
cursor = conn.cursor()
# Preparing SQL queries to INSERT a record into the database.
cursor.execute('''INSERT INTO EMPLOYEE(
FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES
('Ramya', 'Rama Priya', 27, 'F', 9000)''')
cursor.execute('''INSERT INTO EMPLOYEE(
FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES
('Vinay', 'Battacharya', 20, 'M', 6000)''')
cursor.execute('''INSERT INTO EMPLOYEE(
FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES
('Sharukh', 'Sheik', 25, 'M', 8300)''')
cursor.execute('''INSERT INTO EMPLOYEE(
FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES
('Sarmista', 'Sharma', 26, 'F', 10000)''')
cursor.execute('''INSERT INTO EMPLOYEE(
FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES
('Tripthi', 'Mishra', 24, 'F', 6000)''')
# Commit your changes in the database
conn.commit()
print("Records inserted........")
# Closing the connection
conn.close()
Produzione
Records inserted........