INTERFACE PYTHON WITH MYSQL
Basically the process of transfer data between python programs and MySQL database is known as Python
Database Connectivity.
There few steps you have to follow to perform Python Database Connectivity. These steps are as follow:
1, Import the required packages
2. Establish a connection 3
4. Process as per the requirements
Import the required packages
To perform the Python MySQL. Database Connectivity you need to install mysql-connector-python package
using pip command.
pip install mysql connector python
After installation just write the import statement to import the package in python code.
import mysql.connector as msql
importing package mysql connector in python
Here I have instantiated msq] to mysql.conneetor which can be work as an alias name for the connector.
Establish connection
To establish a connection you need to ereate a connection object in Python, Take a variable as a connection
object and use connect() funetion with MySQL database specification like host name, username,
passoword or passwd and database itself. For example en. Observe the code:
import mysql.connector as msql
cn=msql.connect(host='localhost’user'root' passwd='root'database—'Studentdb’)
Please ensure that you have provided appropriate username, password and database name available in your
MySQL interface.
After doing this, check for the errors if any. If your program runs without errors that means connection is
established. Although you can use is_connected() function to check whether the connection is established
or not! Observe this code:
import mysql.comnector as msqlen=msql.connect(host='localhost’user='root' passwd='root’ database='Student’)
if on.is_connected():
print(’Connection Established")
else:
print("Connection Errors! Kindly check!!!")
Execute Sl command and fetch rows
The next step after the successful connection is to write SQL command and fetch rows. The SQL
commands are used to perform DML operations and fetch rows read data from table. So we will see them in
detail later.
You have to create a cursor object for executing SQL command and fetch rows. Cursor object is a special
kind of structure that processes the data row by row in database, You can create cursor object in the
following manner.
cur=en.cursor()
Performing DML operations (insert, update and delete)
To perform the DML operations like insert, update or delete follow these steps:
1, Create a cursor object
2. Write command as parameters for exeeute() function
3. Use commit() function to save the changes and reflect the data in the table.
insert command
Observe the following code:
import mysql.connector as msql
en=msql.connect(host=!localhost’ user root’ passw
cur-cn,cursor()
cur.execute("insert into students values(1111,'Asmita’,78.5
cn.commit()
‘MySQL @123',database='Studentdb’)
,'B1'))
update command
import mysql.connector as msql
en=msql.connect(host~'localhost’userroot’ passwd~MySQLG@
cur=cn.cursor()
cur.execute("update students set marks=80.5 where rollno=1111")
cn.commit()
123',database~'Studentdb')
deletecommand
import mysql.connector as msql
cn=msql.connect(host='localhost' user=root’ passwd:
cur=en,cursor()
latabase='Studentdb’)cur.execute("delete from students where rolino=11 11")
en.commit()
Select Command
‘As you know the select command is used retrieve records from the database. The result is available in the
resultset or dataset. You can store the select the command in cursor object in python, Then for resultset you
can use the feteh...Q function. These are:
1. fetchallQ: It will retrieve all data from a database table in form of record or tuple or a row.
2, fetchone(): It will retrieve one record from the resultset as a tuple or a list. It returns the records in a
specific order like first record, the next time next record and so on. If records are not available then
it will return None.
fetchmany(n): It will retrieve a number of records from the database. If records are not available
then it will return an empty tuple.
4, rowcount: It is one of the properties of cursor object that return number of rows fetched from the
cursor object.
Observe the below-given code for fetchall() funetion:
import mysql.connector as msql
cn=msql.connect(host='localhost' user'root' passwd="MySQL@ 123',database='Studentdb’)
cur=en,cursor()
cur.execute("select * from students")
d=cursor.fetchall()
forr in d:
print(r)
Observe the below-given code for fetchmany(n) function:
import mysql.connector as msql
en=msql.connect(host~"localhost’,user~'root’,passwd="MySQL@ 123' database-'Studentdb’)
cur=cn.cursor()
cur.execute("select * from students")
%s" %(80,))
d-cur.fetchall()
forrin d:
print(r)
Adisplay records having BI grade
cur.execute("select * from students where grade="%s" %('BI'))
ur-fetchall()
forr in d:
print(r)
with f) format pattern
In this pattern you can write {} where the value is placed followed by .format(values). Consider the
following code:
import mysql.connector as msql
import time
cn=msql.connect(host='localhost’,user='root' passwd=!MySQL@ 123'databas
studentdb’)cur=en.cursor()
cur.execute("select * from students where marks >{}" .format(80))
sur-fetchall()
for ind:
print(r)
curexecute("select * from students where grade={}".format(’B1'))
d-cur.fetehallQ)
for ind:
print(r)
Close the connection
Finally, you have to close the established connect using close) function, It will help to clean up the
memory. Observe the following code:
con.close()