0
0
PythonHow-ToBeginner · 3 min read

How to Connect to MySQL Database in Python Easily

To connect to a MySQL database in Python, use the mysql-connector-python library. Import mysql.connector, then create a connection with mysql.connector.connect() by providing host, user, password, and database details.
📐

Syntax

Use mysql.connector.connect() to create a connection. You need to provide:

  • host: the database server address (usually 'localhost')
  • user: your MySQL username
  • password: your MySQL password
  • database: the name of the database to connect to

This returns a connection object to interact with the database.

python
import mysql.connector

connection = mysql.connector.connect(
    host="localhost",
    user="your_username",
    password="your_password",
    database="your_database"
)
💻

Example

This example shows how to connect to a MySQL database, create a cursor, execute a simple query, and fetch results.

python
import mysql.connector

try:
    connection = mysql.connector.connect(
        host="localhost",
        user="root",
        password="mypassword",
        database="testdb"
    )
    cursor = connection.cursor()
    cursor.execute("SELECT DATABASE();")
    result = cursor.fetchone()
    print(f"Connected to database: {result[0]}")
except mysql.connector.Error as err:
    print(f"Error: {err}")
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
Output
Connected to database: testdb
⚠️

Common Pitfalls

Common mistakes when connecting to MySQL in Python include:

  • Not installing the mysql-connector-python package before importing it.
  • Using wrong credentials or database name, causing connection errors.
  • Not closing the connection and cursor, which can lead to resource leaks.
  • Ignoring exceptions, which makes debugging harder.

Always handle exceptions and close connections properly.

python
import mysql.connector

# Wrong way: no error handling and no closing
connection = mysql.connector.connect(
    host="localhost",
    user="wrong_user",
    password="wrong_pass",
    database="wrong_db"
)

# Right way: with try-except and closing
try:
    connection = mysql.connector.connect(
        host="localhost",
        user="correct_user",
        password="correct_pass",
        database="correct_db"
    )
    # use connection
except mysql.connector.Error as err:
    print(f"Connection error: {err}")
finally:
    if connection.is_connected():
        connection.close()
📊

Quick Reference

Remember these tips when connecting to MySQL in Python:

  • Install the connector with pip install mysql-connector-python.
  • Use mysql.connector.connect() with correct parameters.
  • Always handle exceptions to catch errors.
  • Close cursor and connection to free resources.

Key Takeaways

Install mysql-connector-python before connecting to MySQL in Python.
Use mysql.connector.connect() with host, user, password, and database parameters.
Always handle exceptions to catch connection errors.
Close your cursor and connection to avoid resource leaks.
Test your connection with a simple query to confirm success.