How to Connect a Database in Python
A database is an organized collection of data that allows applications to store, manage, and retrieve information efficiently. Python provides several options for connecting applications with databases, making it useful for web applications, data-processing systems, and software projects.
MySQL is one of the commonly used relational databases that can be connected with Python. In this tutorial, we will learn how to connect a MySQL database in Python using the mysql-connector-python package.
The basic process involves installing the MySQL driver, creating a database connection, creating a cursor, and executing SQL queries.
Table of Contents

Complete Python Course with Advance Topics: Click Here
Steps to Connect MySQL Database in Python
Connecting Python with MySQL generally involves these four steps:
- Install the MySQL driver.
- Create a connection object.
- Create a cursor object.
- Execute SQL queries.
Step 1: Install MySQL Driver
Before connecting Python to MySQL, you need a MySQL driver. In this tutorial, we use the mysql-connector-python package.
Open Command Prompt or the terminal in VS Code and run:
python -m pip install mysql-connector-python
After running the command, pip downloads and installs the MySQL Connector package in your Python environment.
Verify the MySQL Connector Installation
You can check whether the package was installed correctly by importing it in Python:
import mysql.connector
If the import runs without an error, the connector is available in your Python environment.
Step 2: Create a Connection Object
After installing the connector, the next step is to establish a connection between your Python application and the MySQL server.
The mysql.connector module provides the connect() method for creating the connection.
A basic connection can be written as:
conn_obj = mysql.connector.connect(
host="localhost",
user="root",
password="your_password"
)
Here are the main connection parameters:
| Parameter | Purpose |
|---|---|
host | Specifies the MySQL server address, such as localhost |
user | Specifies the MySQL username |
password | Specifies the MySQL user’s password |
database | Specifies the database you want to use |
For a MySQL server running on your own computer, localhost is commonly used as the host.
Connection Example
import mysql.connector
conn_obj = mysql.connector.connect(
host="localhost",
user="root",
password="your_password"
)
print(conn_obj)
If the connection is successful, Python will display a MySQL connection object.
Step 3: Create a Cursor Object
Once the database connection has been created, you need a cursor object to execute SQL statements.
Create a cursor using the cursor() method:
cur_obj = conn_obj.cursor()
For example:
import mysql.connector
conn_obj = mysql.connector.connect(
host="localhost",
user="root",
password="your_password",
database="mydatabase"
)
cur_obj = conn_obj.cursor()
print(cur_obj)
The cursor is responsible for sending SQL commands to the MySQL database and retrieving results when required.
Step 4: Execute SQL Queries
After creating the cursor, you can execute SQL queries using the execute() method.
For example, you can create a new database using Python:
import mysql.connector
conn_obj = mysql.connector.connect(
host="localhost",
user="root",
password="your_password"
)
cur_obj = conn_obj.cursor()
cur_obj.execute("CREATE DATABASE New_PythonDB")
conn_obj.close()
The execute() method sends the SQL statement to MySQL. In this example, the query creates a database named New_PythonDB.
Display Available Databases
You can also use SQL queries to retrieve information from the MySQL server. For example, the SHOW DATABASES query displays the available databases.
import mysql.connector
conn_obj = mysql.connector.connect(
host="localhost",
user="root",
password="your_password"
)
cur_obj = conn_obj.cursor()
cur_obj.execute("SHOW DATABASES")
for db in cur_obj:
print(db)
conn_obj.close()
The output will contain the databases available on your MySQL server.
Complete Python MySQL Connection Example
The following example combines the main steps into one program:
import mysql.connector
conn_obj = mysql.connector.connect(
host="localhost",
user="root",
password="your_password"
)
cur_obj = conn_obj.cursor()
cur_obj.execute("SHOW DATABASES")
for db in cur_obj:
print(db)
conn_obj.close()
In this program, Python connects to MySQL, creates a cursor, executes the SQL query, displays the database names, and finally closes the connection.
Why Close the Database Connection?
After completing your database operations, it is important to close the connection when it is no longer required.
conn_obj.close()
Closing the connection helps release resources and prevents unnecessary open database connections.
Common Problems When Connecting Python to MySQL
MySQL Connector Not Installed
If Python cannot find mysql.connector, install the package using:
python -m pip install mysql-connector-python
YT:- DecodeIT
Incorrect Username or Password
If your MySQL credentials are incorrect, the connection will fail. Check the username and password configured for your MySQL server.
MySQL Server Not Running
If you are working with a local MySQL installation, make sure the MySQL server is running before starting your Python program.
Wrong Database Name
If you specify a database in the connection, make sure that database already exists and the spelling is correct.
Important Points to Remember
- Install
mysql-connector-pythonbefore connecting Python to MySQL. - Use
mysql.connector.connect()to create a database connection. - Use
cursor()to create a cursor object. - Use
execute()to run SQL queries. - Close the database connection after completing the required operations.
- Keep your database credentials secure in real applications.
Conclusion
Connecting a MySQL database with Python is straightforward when you follow the correct steps. First, install the mysql-connector-python package. Then create a connection object, create a cursor, and use the cursor to execute SQL queries.
With this setup, Python applications can communicate with MySQL databases and perform database operations such as creating databases, retrieving information, inserting records, updating data, and deleting records.
Learning Python database connectivity is an important skill for developers who want to build database-driven applications and backend projects.
Frequently Asked Questions (FAQ)
1. How do I connect Python to MySQL?
Install mysql-connector-python, create a connection using mysql.connector.connect(), and then create a cursor to execute SQL queries.
2. What is mysql-connector-python?
It is a Python package that allows Python applications to connect and communicate with MySQL databases.
3. How do I install MySQL Connector in Python?
Run python -m pip install mysql-connector-python in Command Prompt or your terminal.
4. What is a cursor in Python MySQL?
A cursor is used to execute SQL queries and work with the results returned by the database.
5. How do I execute an SQL query in Python?
After creating a cursor, use the execute() method, such as cursor.execute("SHOW DATABASES").
6. Why should I close the MySQL connection?
Closing the connection releases database resources after the required operations are finished.
Related Keywords
How to Connect a Database in Python, how to connect a database in python with mysql, how to connect a database in python using a, how to connect a database in python database connection class example, mysql connector python, sql database connection using python, pip install mysql-connector-python, how to c,onnect a database in python SQL connectivity programs, how to connect a database in Python PostgreSQL Python database connection Connect database using PythonPython MySQL database connection Connect MySQL with Python MySQL connector Python Python MySQL connection How to connect MySQL database in Python Python database connectivity Python database connection example Connect Python to MySQL Python SQL database Python database programming MySQL database in Python