SlideShare a Scribd company logo
1 of 28
Download to read offline
INTERFACE PYTHON WITH
MYSQL
Connecting Python application with MySQL
Introduction
 Every application required data to be stored for future
reference to manipulate data. Today every application
stores data in database for this purpose
 For example, reservation system stores passengers
details for reserving the seats and later on for sending
some messages or for printing tickets etc.
 In school student details are saved for many reasons
like attendance, fee collections, exams, report card etc.
 Python allows us to connect all types of database like
Oracle, SQL Server, MySQL.
 In our syllabus we have to understand how to connect
Python programs with MySQL
VINOD KUMAR VERMA, PGT(CS)
Pre-requisite to connect Python with
MySQL
 Before we connect python program with any database
like MySQL we need to build a bridge to connect
Python and MySQL.
 To build this bridge so that data can travel both ways
we need a connector called “mysql.connector”.
 We can install “mysql.connector” by using following
methods:
 At command prompt (Administrator login)
 Type “pip install mysql.connector” and press enter
 (internet connection in required)
 This connector will work only for MySQL 5.7.3 or later
 Or open
“https://dev.mysql.com/downloads/connector/python/”
and download connector as per OS and Python version
VINOD KUMAR VERMA, PGT(CS)
Connecting to MySQL from Python
 Once the connector is installed you are ready to
connect your python program to MySQL.
 The following steps to follow while connecting your
python program with MySQL
 Open python
 Import the package required (import mysql.connector)
 Open the connection to database
 Create a cursor instance
 Execute the query and store it in resultset
 Extract data from resultset
 Clean up the environment
VINOD KUMAR VERMA, PGT(CS)
Importing mysql.connector
import mysql.connector
Or
import mysql.connector as ms
Here “ms” is an alias, so every time we can use “ms” in
place of “mysql.connector”
VINOD KUMAR VERMA, PGT(CS)
Open a connection to MySQL Database
 To create connection, connect() function is used
 Its syntax is:
 connect(host=<server_name>,user=<user_name>,
passwd=<password>[,database=<database>])
 Here server_name means database servername, generally
it is given as “localhost”
 User_name means user by which we connect with mysql
generally it is given as “root”
 Password is the password of user “root”
 Database is the name of database whose data(table) we
want to use
VINOD KUMAR VERMA, PGT(CS)
Example: To establish connection with MySQL
is_connected() function returns
true if connection is established
otherwise false
“mys” is an alias of package “mysql.connector”
“mycon” is connection object which stores connection established with MySQL
“connect()” function is used to connect with mysql by specifying parameters
like host, user, passwd, database
VINOD KUMAR VERMA, PGT(CS)
Table to work (emp)
VINOD KUMAR VERMA, PGT(CS)
Creating Cursor
 It is a useful control structure of database connectivity.
 When we fire a query to database, it is executed and
resultset (set of records) is sent over he connection in
one go.
 We may want to access data one row at a time, but
query processing cannot happens as one row at a time,
so cursor help us in performing this task. Cursor stores
all the data as a temporary container of returned data
and we can fetch data one row at a time from Cursor.
VINOD KUMAR VERMA, PGT(CS)
Creating Cursor and Executing Query
 TO CREATE CURSOR
 Cursor_name = connectionObject.cursor()
 For e.g.
 mycursor = mycon.cursor()
 TO EXECUTE QUERY
 We use execute() function to send query to connection
 Cursor_name.execute(query)
 For e.g.
 mycursor.execute(‘select * from emp’)
VINOD KUMAR VERMA, PGT(CS)
Example - Cursor
Output shows cursor is created and query is fired and stored, but no data is
coming. To fetch data we have to use functions like fetchall(), fetchone(),
fetchmany() are used
VINOD KUMAR VERMA, PGT(CS)
Fetching(extracting) data from ResultSet
 To extract data from cursor following functions are used:
 fetchall() : it will return all the record in the form of
tuple.
 fetchone() : it return one record from the result set. i.e.
first time it will return first record, next time it will return
second record and so on. If no more record it will return
None
 fetchmany(n) : it will return n number of records. It no
more record it will return an empty tuple.
 rowcount : it will return number of rows retrieved from
the cursor so far.
VINOD KUMAR VERMA, PGT(CS)
Example – fetchall()
VINOD KUMAR VERMA, PGT(CS)
Example 2 – fetchall()
VINOD KUMAR VERMA, PGT(CS)
Example 3 – fetchall()
VINOD KUMAR VERMA, PGT(CS)
Example 4: fetchone()
VINOD KUMAR VERMA, PGT(CS)
Example 5: fetchmany(n)
VINOD KUMAR VERMA, PGT(CS)
Guess the output
VINOD KUMAR VERMA, PGT(CS)
Parameterized Query
 We can pass values to query to perform dynamic
search like we want to search for any employee
number entered during runtime or to search any
other column values.
 To Create Parameterized query we can use various
methods like:
 Concatenating dynamic variable to query in which
values are entered.
 String template with % formatting
 String template with {} and format function
VINOD KUMAR VERMA, PGT(CS)
Concatenating variable with query
VINOD KUMAR VERMA, PGT(CS)
String template with %s formatting
 In this method we will use %s in place of values to
substitute and then pass the value for that place.
VINOD KUMAR VERMA, PGT(CS)
String template with %s formatting
VINOD KUMAR VERMA, PGT(CS)
String template with {} and format()
 In this method in place of %s we will use {} and to
pass values for these placeholder format() is used.
Inside we can optionally give 0,1,2… values for e.g.
{0},{1} but its not mandatory. we can also optionally
pass named parameter inside {} so that while passing
values through format function we need not to
remember the order of value to pass. For e.g.
{roll},{name} etc.
VINOD KUMAR VERMA, PGT(CS)
String template with {} and format()
VINOD KUMAR VERMA, PGT(CS)
String template with {} and format()
VINOD KUMAR VERMA, PGT(CS)
Inserting data in MySQL table from Python
 INSERT and UPDATE operation are executed in the
same way we execute SELECT query using execute()
but one thing to remember, after executing insert or
update query we must commit our query using
connection object with commit().
 For e.g. (if our connection object name is mycon)
 mycon.commit()
VINOD KUMAR VERMA, PGT(CS)
Example : inserting data
BEFORE PROGRAM EXECUTION
AFTER PROGRAM EXECUTION
VINOD KUMAR VERMA, PGT(CS)
Example: Updating record
VINOD KUMAR VERMA, PGT(CS)

More Related Content

Similar to Interface Python with MySQL.pdf

Php Data Objects
Php Data ObjectsPhp Data Objects
Php Data Objects
hiren.joshi
 
Learn PHP Lacture2
Learn PHP Lacture2Learn PHP Lacture2
Learn PHP Lacture2
ADARSH BHATT
 
Web app development_crud_13
Web app development_crud_13Web app development_crud_13
Web app development_crud_13
Hassen Poreya
 

Similar to Interface Python with MySQL.pdf (20)

interface with mysql.pptx
interface with mysql.pptxinterface with mysql.pptx
interface with mysql.pptx
 
JDBC for CSQL Database
JDBC for CSQL DatabaseJDBC for CSQL Database
JDBC for CSQL Database
 
Databases with SQLite3.pdf
Databases with SQLite3.pdfDatabases with SQLite3.pdf
Databases with SQLite3.pdf
 
Retrieving data from database using result set (1)
Retrieving data from database using result set (1)Retrieving data from database using result set (1)
Retrieving data from database using result set (1)
 
Php Data Objects
Php Data ObjectsPhp Data Objects
Php Data Objects
 
Php and MySQL Web Development
Php and MySQL Web DevelopmentPhp and MySQL Web Development
Php and MySQL Web Development
 
Learn PHP Lacture2
Learn PHP Lacture2Learn PHP Lacture2
Learn PHP Lacture2
 
Jdbc ja
Jdbc jaJdbc ja
Jdbc ja
 
Discuss the scrollable result set in jdbc
Discuss the scrollable result set in jdbcDiscuss the scrollable result set in jdbc
Discuss the scrollable result set in jdbc
 
JDBC Tutorial
JDBC TutorialJDBC Tutorial
JDBC Tutorial
 
Jdbc
JdbcJdbc
Jdbc
 
Thunderstruck
ThunderstruckThunderstruck
Thunderstruck
 
JDBC Connecticity.ppt
JDBC Connecticity.pptJDBC Connecticity.ppt
JDBC Connecticity.ppt
 
Database Connectivity with JDBC
Database Connectivity with JDBCDatabase Connectivity with JDBC
Database Connectivity with JDBC
 
Web app development_crud_13
Web app development_crud_13Web app development_crud_13
Web app development_crud_13
 
Jdbc oracle
Jdbc oracleJdbc oracle
Jdbc oracle
 
Dat402
Dat402Dat402
Dat402
 
Advanced dot net
Advanced dot netAdvanced dot net
Advanced dot net
 
JDBC (2).ppt
JDBC (2).pptJDBC (2).ppt
JDBC (2).ppt
 
Jdbc ppt
Jdbc pptJdbc ppt
Jdbc ppt
 

Recently uploaded

會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
中 央社
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
中 央社
 
SPLICE Working Group: Reusable Code Examples
SPLICE Working Group:Reusable Code ExamplesSPLICE Working Group:Reusable Code Examples
SPLICE Working Group: Reusable Code Examples
Peter Brusilovsky
 

Recently uploaded (20)

Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...
 
diagnosting testing bsc 2nd sem.pptx....
diagnosting testing bsc 2nd sem.pptx....diagnosting testing bsc 2nd sem.pptx....
diagnosting testing bsc 2nd sem.pptx....
 
Mattingly "AI & Prompt Design: Named Entity Recognition"
Mattingly "AI & Prompt Design: Named Entity Recognition"Mattingly "AI & Prompt Design: Named Entity Recognition"
Mattingly "AI & Prompt Design: Named Entity Recognition"
 
Graduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptxGraduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptx
 
Including Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdfIncluding Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdf
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
 
Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"
 
An Overview of the Odoo 17 Knowledge App
An Overview of the Odoo 17 Knowledge AppAn Overview of the Odoo 17 Knowledge App
An Overview of the Odoo 17 Knowledge App
 
Major project report on Tata Motors and its marketing strategies
Major project report on Tata Motors and its marketing strategiesMajor project report on Tata Motors and its marketing strategies
Major project report on Tata Motors and its marketing strategies
 
Scopus Indexed Journals 2024 - ISCOPUS Publications
Scopus Indexed Journals 2024 - ISCOPUS PublicationsScopus Indexed Journals 2024 - ISCOPUS Publications
Scopus Indexed Journals 2024 - ISCOPUS Publications
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
 
SPLICE Working Group: Reusable Code Examples
SPLICE Working Group:Reusable Code ExamplesSPLICE Working Group:Reusable Code Examples
SPLICE Working Group: Reusable Code Examples
 
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUMDEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
 
VAMOS CUIDAR DO NOSSO PLANETA! .
VAMOS CUIDAR DO NOSSO PLANETA!                    .VAMOS CUIDAR DO NOSSO PLANETA!                    .
VAMOS CUIDAR DO NOSSO PLANETA! .
 
8 Tips for Effective Working Capital Management
8 Tips for Effective Working Capital Management8 Tips for Effective Working Capital Management
8 Tips for Effective Working Capital Management
 
Basic Civil Engineering notes on Transportation Engineering & Modes of Transport
Basic Civil Engineering notes on Transportation Engineering & Modes of TransportBasic Civil Engineering notes on Transportation Engineering & Modes of Transport
Basic Civil Engineering notes on Transportation Engineering & Modes of Transport
 
The Liver & Gallbladder (Anatomy & Physiology).pptx
The Liver &  Gallbladder (Anatomy & Physiology).pptxThe Liver &  Gallbladder (Anatomy & Physiology).pptx
The Liver & Gallbladder (Anatomy & Physiology).pptx
 
male presentation...pdf.................
male presentation...pdf.................male presentation...pdf.................
male presentation...pdf.................
 
Đề tieng anh thpt 2024 danh cho cac ban hoc sinh
Đề tieng anh thpt 2024 danh cho cac ban hoc sinhĐề tieng anh thpt 2024 danh cho cac ban hoc sinh
Đề tieng anh thpt 2024 danh cho cac ban hoc sinh
 
How To Create Editable Tree View in Odoo 17
How To Create Editable Tree View in Odoo 17How To Create Editable Tree View in Odoo 17
How To Create Editable Tree View in Odoo 17
 

Interface Python with MySQL.pdf

  • 1. INTERFACE PYTHON WITH MYSQL Connecting Python application with MySQL
  • 2. Introduction  Every application required data to be stored for future reference to manipulate data. Today every application stores data in database for this purpose  For example, reservation system stores passengers details for reserving the seats and later on for sending some messages or for printing tickets etc.  In school student details are saved for many reasons like attendance, fee collections, exams, report card etc.  Python allows us to connect all types of database like Oracle, SQL Server, MySQL.  In our syllabus we have to understand how to connect Python programs with MySQL VINOD KUMAR VERMA, PGT(CS)
  • 3. Pre-requisite to connect Python with MySQL  Before we connect python program with any database like MySQL we need to build a bridge to connect Python and MySQL.  To build this bridge so that data can travel both ways we need a connector called “mysql.connector”.  We can install “mysql.connector” by using following methods:  At command prompt (Administrator login)  Type “pip install mysql.connector” and press enter  (internet connection in required)  This connector will work only for MySQL 5.7.3 or later  Or open “https://dev.mysql.com/downloads/connector/python/” and download connector as per OS and Python version VINOD KUMAR VERMA, PGT(CS)
  • 4. Connecting to MySQL from Python  Once the connector is installed you are ready to connect your python program to MySQL.  The following steps to follow while connecting your python program with MySQL  Open python  Import the package required (import mysql.connector)  Open the connection to database  Create a cursor instance  Execute the query and store it in resultset  Extract data from resultset  Clean up the environment VINOD KUMAR VERMA, PGT(CS)
  • 5. Importing mysql.connector import mysql.connector Or import mysql.connector as ms Here “ms” is an alias, so every time we can use “ms” in place of “mysql.connector” VINOD KUMAR VERMA, PGT(CS)
  • 6. Open a connection to MySQL Database  To create connection, connect() function is used  Its syntax is:  connect(host=<server_name>,user=<user_name>, passwd=<password>[,database=<database>])  Here server_name means database servername, generally it is given as “localhost”  User_name means user by which we connect with mysql generally it is given as “root”  Password is the password of user “root”  Database is the name of database whose data(table) we want to use VINOD KUMAR VERMA, PGT(CS)
  • 7. Example: To establish connection with MySQL is_connected() function returns true if connection is established otherwise false “mys” is an alias of package “mysql.connector” “mycon” is connection object which stores connection established with MySQL “connect()” function is used to connect with mysql by specifying parameters like host, user, passwd, database VINOD KUMAR VERMA, PGT(CS)
  • 8. Table to work (emp) VINOD KUMAR VERMA, PGT(CS)
  • 9. Creating Cursor  It is a useful control structure of database connectivity.  When we fire a query to database, it is executed and resultset (set of records) is sent over he connection in one go.  We may want to access data one row at a time, but query processing cannot happens as one row at a time, so cursor help us in performing this task. Cursor stores all the data as a temporary container of returned data and we can fetch data one row at a time from Cursor. VINOD KUMAR VERMA, PGT(CS)
  • 10. Creating Cursor and Executing Query  TO CREATE CURSOR  Cursor_name = connectionObject.cursor()  For e.g.  mycursor = mycon.cursor()  TO EXECUTE QUERY  We use execute() function to send query to connection  Cursor_name.execute(query)  For e.g.  mycursor.execute(‘select * from emp’) VINOD KUMAR VERMA, PGT(CS)
  • 11. Example - Cursor Output shows cursor is created and query is fired and stored, but no data is coming. To fetch data we have to use functions like fetchall(), fetchone(), fetchmany() are used VINOD KUMAR VERMA, PGT(CS)
  • 12. Fetching(extracting) data from ResultSet  To extract data from cursor following functions are used:  fetchall() : it will return all the record in the form of tuple.  fetchone() : it return one record from the result set. i.e. first time it will return first record, next time it will return second record and so on. If no more record it will return None  fetchmany(n) : it will return n number of records. It no more record it will return an empty tuple.  rowcount : it will return number of rows retrieved from the cursor so far. VINOD KUMAR VERMA, PGT(CS)
  • 13. Example – fetchall() VINOD KUMAR VERMA, PGT(CS)
  • 14. Example 2 – fetchall() VINOD KUMAR VERMA, PGT(CS)
  • 15. Example 3 – fetchall() VINOD KUMAR VERMA, PGT(CS)
  • 16. Example 4: fetchone() VINOD KUMAR VERMA, PGT(CS)
  • 17. Example 5: fetchmany(n) VINOD KUMAR VERMA, PGT(CS)
  • 18. Guess the output VINOD KUMAR VERMA, PGT(CS)
  • 19. Parameterized Query  We can pass values to query to perform dynamic search like we want to search for any employee number entered during runtime or to search any other column values.  To Create Parameterized query we can use various methods like:  Concatenating dynamic variable to query in which values are entered.  String template with % formatting  String template with {} and format function VINOD KUMAR VERMA, PGT(CS)
  • 20. Concatenating variable with query VINOD KUMAR VERMA, PGT(CS)
  • 21. String template with %s formatting  In this method we will use %s in place of values to substitute and then pass the value for that place. VINOD KUMAR VERMA, PGT(CS)
  • 22. String template with %s formatting VINOD KUMAR VERMA, PGT(CS)
  • 23. String template with {} and format()  In this method in place of %s we will use {} and to pass values for these placeholder format() is used. Inside we can optionally give 0,1,2… values for e.g. {0},{1} but its not mandatory. we can also optionally pass named parameter inside {} so that while passing values through format function we need not to remember the order of value to pass. For e.g. {roll},{name} etc. VINOD KUMAR VERMA, PGT(CS)
  • 24. String template with {} and format() VINOD KUMAR VERMA, PGT(CS)
  • 25. String template with {} and format() VINOD KUMAR VERMA, PGT(CS)
  • 26. Inserting data in MySQL table from Python  INSERT and UPDATE operation are executed in the same way we execute SELECT query using execute() but one thing to remember, after executing insert or update query we must commit our query using connection object with commit().  For e.g. (if our connection object name is mycon)  mycon.commit() VINOD KUMAR VERMA, PGT(CS)
  • 27. Example : inserting data BEFORE PROGRAM EXECUTION AFTER PROGRAM EXECUTION VINOD KUMAR VERMA, PGT(CS)
  • 28. Example: Updating record VINOD KUMAR VERMA, PGT(CS)