====== Working with Databases ======
Python supports working with databases like SQLite, MySQL, and PostgreSQL.
=== SQLite ===
It's built into Python, so you don’t need to install anything. It’s great for small, local projects or when you want quick setup without a server.
import sqlite3
connection = sqlite3.connect("mydatabase.db")
cursor = connection.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS users (name TEXT, age INTEGER)")
cursor.execute("INSERT INTO users VALUES ('Alice', 25)")
cursor.execute("SELECT * FROM users")
for row in cursor.fetchall():
print(row)
connection.commit()
connection.close()
=== MySQL ===
To connect to a MySQL database, you'll first install the mysql connector python package. Then, you can use it to connect to your MySQL server and run standard SQL queries.
//First install//
pip install mysql-connector-python
import mysql.connector
conn = mysql.connector.connect(
host='localhost',
user='your_username',
password='your_password',
database='your_database'
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
results = cursor.fetchall()
for row in results:
print(row)
conn.close()
=== PostgreSQL ===
PostgreSQL is another relational database, often used for complex or large-scale applications. Use the psycopg2 library to connect and interact with it through Python.
//First install//
pip install psycopg2-binary
import psycopg2
conn = psycopg2.connect(
host='localhost',
database='your_database',
user='your_username',
password='your_password'
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)
conn.close()
=== MongoDB (NoSQL – use 'pymongo') ===
If you're working with NoSQL data, MongoDB is a popular choice. Use the pymongo library to connect and interact with collections, which work like JSON objects.
//First install//
pip install pymongo
from pymongo import MongoClient
client = MongoClient("mongodb://localhost:27017/")
db = client["my_database"]
collection = db["users"]
# Insert a document
collection.insert_one({"name": "Alice", "email": "alice@example.com"})
# Find documents
for user in collection.find():
print(user)