Python MySQL - Daten einfügen
Sie können einer vorhandenen Tabelle von MySQL mit dem Befehl neue Zeilen hinzufügen INSERT INTOErklärung. In diesem Fall müssen Sie den Namen der Tabelle, die Spaltennamen und die Werte angeben (in derselben Reihenfolge wie die Spaltennamen).
Syntax
Es folgt die Syntax der INSERT INTO-Anweisung von MySQL.
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
Beispiel
Die folgende Abfrage fügt einen Datensatz mit dem Namen EMPLOYEE in die Tabelle ein.
INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000);
Sie können die Datensätze der Tabelle nach dem Einfügen mit der Anweisung SELECT als - überprüfen
mysql> select * from Employee;
+------------+-----------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE | SEX | INCOME |
+------------+-----------+------+------+--------+
| Mac | Mohan | 20| M | 2000 |
+------------+-----------+------+------+--------+
1 row in set (0.00 sec)
Es ist nicht zwingend erforderlich, die Namen der Spalten immer anzugeben. Wenn Sie Werte eines Datensatzes in derselben Reihenfolge wie die Spalten der Tabelle übergeben, können Sie die SELECT-Anweisung ohne die Spaltennamen wie folgt ausführen:
INSERT INTO EMPLOYEE VALUES ('Mac', 'Mohan', 20, 'M', 2000);
Einfügen von Daten in MySQL-Tabelle mit Python
Das execute()Die Methode (die für das Cursorobjekt aufgerufen wird) akzeptiert eine Abfrage als Parameter und führt die angegebene Abfrage aus. Um Daten einzufügen, müssen Sie die MySQL INSERT-Anweisung als Parameter an sie übergeben.
cursor.execute("""INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)""")
So fügen Sie mit Python Daten in eine Tabelle in MySQL ein:
importieren mysql.connector Paket.
Erstellen Sie ein Verbindungsobjekt mit dem mysql.connector.connect() Methode, indem Benutzername, Kennwort, Host (optionaler Standard: localhost) und Datenbank (optional) als Parameter übergeben werden.
Erstellen Sie ein Cursorobjekt, indem Sie das aufrufen cursor() Methode für das oben erstellte Verbindungsobjekt.
Führen Sie dann die aus INSERT Anweisung durch Übergabe als Parameter an die execute() Methode.
Beispiel
Im folgenden Beispiel wird die SQL INSERT- Anweisung ausgeführt, um einen Datensatz in die EMPLOYEE-Tabelle einzufügen.
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()
Werte dynamisch einfügen
Sie können auch verwenden “%s” anstelle von Werten in der INSERT Abfrage von MySQL und Übergabe von Werten an sie als Listen wie unten gezeigt -
cursor.execute("""INSERT INTO EMPLOYEE VALUES ('Mac', 'Mohan', 20, 'M', 2000)""",
('Ramya', 'Ramapriya', 25, 'F', 5000))
Beispiel
Im folgenden Beispiel wird ein Datensatz dynamisch in die Employee-Tabelle eingefügt.
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()
Ausgabe
Data inserted