Skip to main content

MySQL

MySQL

import library:

from getpass import getpass
from mysql.connector import connect, Error

Configuring MySQL connection details:

try: ##try statement used as the code isn't guaranteed to function##
    connection = mysql.connector.connect(
        host="localhost",
        user="db_user",
        password="db_pass",
        database="user_database"
     )

If you have multiple separate DB connections being made to the same DB, it would be worth defining this connection as a function, and returning the value connection so that a query can be run. for example:



Querying a MySQL database:

Example:



import mysql.connector
from getpass import getpass
from mysql.connector import connect, Error

##User Management Application##
print("User Management")

##User Option Selection##
def option():
options_list = {1 : "view", 2: "delete", 3: "create"}
option_selection = int(input("Select an option\n1. View Users\n2. Delete User\n3. Create User\n"))
if option_selection in options_list:
print(f"{options_list[option_selection]} users:")
else:
print("Invalid Option")
return option_selection

option_selection = option()

##DATABASE CONNECTION AND QUERY##
def database_query(option_selection):
if option_selection == 1:
connection = None
cursor = None
try:
print("Connecting to database...")
# Establish a connection to the MySQL database
connection = mysql.connector.connect(
host="localhost",
user="python",
password="",
database="user_database"
)

if connection.is_connected():
print("Connection Established...\nQuerying Database...")

# Create a cursor object
cursor = connection.cursor()

# Define the SELECT query
query = "SELECT * FROM users"

# Execute the SELECT query
cursor.execute(query)

# Fetch all results
results = cursor.fetchall()

# Process the results
for row in results:
print(row)

except Error as e:
print("Error:", e)

finally:
if cursor is not None:
cursor.close()
if connection is not None and connection.is_connected():
connection.close()
print("Connection closed")
return option_selection

# Run the function
database_query(option_selection)