Python MySQL - Insertar datos
Puede agregar nuevas filas a una tabla existente de MySQL usando el INSERT INTOdeclaración. En esto, debe especificar el nombre de la tabla, los nombres de las columnas y los valores (en el mismo orden que los nombres de las columnas).
Sintaxis
A continuación se muestra la sintaxis de la instrucción INSERT INTO de MySQL.
INSERT INTO TABLE_NAME (column1, column2,column3,...columnN)
VALUES (value1, value2, value3,...valueN);
Ejemplo
La siguiente consulta inserta un registro en la tabla llamado EMPLEADO.
INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('
Mac', 'Mohan', 20, 'M', 2000
);
Puede verificar los registros de la tabla después de la operación de inserción usando la instrucción SELECT como:
mysql> select * from Employee;
+------------+-----------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE | SEX | INCOME |
+------------+-----------+------+------+--------+
| Mac | Mohan | 20 | M | 2000 |
+------------+-----------+------+------+--------+
1 row in set (0.00 sec)
No es obligatorio especificar los nombres de las columnas siempre, si pasa los valores de un registro en el mismo orden de las columnas de la tabla, puede ejecutar la instrucción SELECT sin los nombres de las columnas de la siguiente manera:
INSERT INTO EMPLOYEE VALUES ('Mac', 'Mohan', 20, 'M', 2000);
Insertar datos en una tabla MySQL usando Python
los execute()El método (invocado en el objeto cursor) acepta una consulta como parámetro y ejecuta la consulta dada. Para insertar datos, debe pasarle la instrucción INSERT de MySQL como parámetro.
cursor.execute("""INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)""")
Para insertar datos en una tabla en MySQL usando python:
importar mysql.connector paquete.
Cree un objeto de conexión utilizando el mysql.connector.connect() método, pasando el nombre de usuario, contraseña, host (predeterminado opcional: localhost) y base de datos (opcional) como parámetros.
Cree un objeto de cursor invocando el cursor() método en el objeto de conexión creado anteriormente
Luego, ejecute el INSERT declaración pasándola como parámetro a la execute() método.
Ejemplo
El siguiente ejemplo ejecuta la instrucción SQL INSERT para insertar un registro en la tabla 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()
Insertar valores dinámicamente
También puede utilizar "% s" en lugar de valores en el INSERT consulta de MySQL y pasarles valores como listas como se muestra a continuación:
cursor.execute("""INSERT INTO EMPLOYEE VALUES ('Mac', 'Mohan', 20, 'M', 2000)""",
('Ramya', 'Ramapriya', 25, 'F', 5000))
Ejemplo
El siguiente ejemplo inserta un registro en la tabla Empleado de forma dinámica.
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()
Salida
Data inserted