Python MySQL - Inserisci dati
Puoi aggiungere nuove righe a una tabella esistente di MySQL utilizzando il INSERT INTOdichiarazione. 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 dell'istruzione INSERT INTO di MySQL.
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
Esempio
La seguente query inserisce un record nella tabella denominata EMPLOYEE.
INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000);
È possibile verificare i record della tabella dopo l'operazione di inserimento utilizzando l'istruzione SELECT come:
mysql> select * from Employee;
+------------+-----------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE | SEX | INCOME |
+------------+-----------+------+------+--------+
| Mac | Mohan | 20| M | 2000 |
+------------+-----------+------+------+--------+
1 row in set (0.00 sec)
Non è obbligatorio specificare sempre i nomi delle colonne, se si passano i valori di un record nello stesso ordine delle colonne della tabella è possibile eseguire l'istruzione SELECT senza i nomi delle colonne come segue:
INSERT INTO EMPLOYEE VALUES ('Mac', 'Mohan', 20, 'M', 2000);
Inserimento di dati nella tabella MySQL utilizzando Python
Il execute()(invocato sull'oggetto cursore) accetta una query come parametro ed esegue la query data. Per inserire i dati, è necessario passare l'istruzione MySQL INSERT come parametro ad esso.
cursor.execute("""INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)""")
Per inserire dati in una tabella in MySQL usando python -
importare mysql.connector pacchetto.
Crea un oggetto connessione usando il mysql.connector.connect() , passando il nome utente, la password, l'host (predefinito opzionale: localhost) e il database (opzionale) come parametri ad esso.
Crea un oggetto cursore richiamando il file cursor() metodo sull'oggetto connessione creato sopra.
Quindi, esegui il file INSERT passandola come parametro al file execute() metodo.
Esempio
L'esempio seguente esegue l' istruzione SQL INSERT per inserire un record nella tabella EMPLOYEE -
import mysql.connector
#establishing the connection
conn = mysql.connector.connect(
user='root', password='password', host='127.0.0.1', database='mydb'
)
#Creating a cursor object using the cursor() method
cursor = conn.cursor()
# Preparing SQL query to INSERT a record into the database.
sql = """INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
# Executing the SQL command
cursor.execute(sql)
# Commit your changes in the database
conn.commit()
except:
# Rolling back in case of error
conn.rollback()
# Closing the connection
conn.close()
Inserimento di valori dinamicamente
Puoi anche usare “%s” invece dei valori in INSERT query di MySQL e passare loro i valori come elenchi come mostrato di seguito -
cursor.execute("""INSERT INTO EMPLOYEE VALUES ('Mac', 'Mohan', 20, 'M', 2000)""",
('Ramya', 'Ramapriya', 25, 'F', 5000))
Esempio
L'esempio seguente inserisce dinamicamente un record nella tabella Employee.
import mysql.connector
#establishing the connection
conn = mysql.connector.connect(
user='root', password='password', host='127.0.0.1', database='mydb'
)
#Creating a cursor object using the cursor() method
cursor = conn.cursor()
# Preparing SQL query to INSERT a record into the database.
insert_stmt = (
"INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)"
"VALUES (%s, %s, %s, %s, %s)"
)
data = ('Ramya', 'Ramapriya', 25, 'F', 5000)
try:
# Executing the SQL command
cursor.execute(insert_stmt, data)
# Commit your changes in the database
conn.commit()
except:
# Rolling back in case of error
conn.rollback()
print("Data inserted")
# Closing the connection
conn.close()
Produzione
Data inserted