Skip to content
Related Articles

Related Articles

Python MySQL – Insert into Table

Improve Article
Save Article
  • Difficulty Level : Basic
  • Last Updated : 06 Mar, 2020
Improve Article
Save Article

MySQL is a Relational Database Management System (RDBMS) whereas the structured Query Language (SQL) is the language used for handling the RDBMS using commands i.e Creating, Inserting, Updating and Deleting the data from the databases. SQL commands are case insensitive i.e CREATE and create signify the same command.

Note: Before we insert data into our database, we need to create a table. In order to do so, refer to Python: MySQL Create Table.

Inserting data

You can insert one row or multiple rows at once. The connector code is required to connect the commands to the particular database.

Connector query




# Enter the server name in host
# followed by your user and
# password along with the database 
# name provided by you.
  
import mysql.connector
  
  
mydb = mysql.connector.connect(
  host = "localhost",
  user = "username",
  password = "password",
  database = "database_name"
  
mycursor = mydb.cursor()

Now, the Insert into Query can be written as follows:

Example: Let’s suppose the record looks like this –

python-mysql-insert




sql = "INSERT INTO Student (Name, Roll_no) VALUES (%s, %s)"
val = ("Ram", "85")
  
mycursor.execute(sql, val)
mydb.commit()
  
print(mycursor.rowcount, "details inserted")
  
# disconnecting from server
mydb.close()

Output:

1 details inserted

python-mysql-insert-2

To insert multiple values at once, executemany() method is used. This method iterates through the sequence of parameters, passing the current parameter to the execute method.

Example:




sql = "INSERT INTO Student (Name, Roll_no) VALUES (%s, %s)"
val = [("Akash", "98"),
       ("Neel", "23"),
       ("Rohan", "43"),
       ("Amit", "87"),
       ("Anil", "45"), 
       ("Megha", "55"), 
       ("Sita", "95")]
  
mycursor.executemany(sql, val)
mydb.commit()
  
print(mycursor.rowcount, "details inserted")
  
# disconnecting from server
mydb.close()

Output:

7 details inserted

python-mysql-insert-3

Note:

  • The cursor() is used in order to iterate through the rows.
  • Without the command mydb.commit() the changes will not be saved.

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!