Hur man ansluter Python till SQL-databaser

Genom att ansluta Python till SQL-databaser kan du interagera med databaser direkt från dina Python-skript. Denna förmåga är väsentlig för uppgifter som datahämtning, uppdateringar och analys. I den här artikeln kommer vi att utforska hur du ansluter Python till SQL-databaser med hjälp av populära bibliotek som SQLite, MySQL och PostgreSQL.

Ställa in din miljö

För att ansluta Python till SQL-databaser måste du installera lämpliga databasanslutningsbibliotek. Här är de vanliga biblioteken för olika databaser:

  • SQLite: Ingen ytterligare installation behövs eftersom SQLite-stöd är inbyggt i Python.
  • MySQL: Använd mysql-connector-python eller PyMySQL biblioteket.
  • PostgreSQL: Använd psycopg2-biblioteket.

Ansluter till en SQLite-databas

SQLite är en lättviktsdatabas som är inbyggd i Pythons standardbibliotek. Så här ansluter du till en SQLite-databas och utför grundläggande operationer:

import sqlite3

# Connect to an SQLite database (or create it if it doesn't exist)
conn = sqlite3.connect('example.db')

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

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    age INTEGER
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Alice', 30)
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM users')
print(cursor.fetchall())  # Output: [(1, 'Alice', 30)]

# Close the connection
conn.close()

Ansluter till en MySQL-databas

För att ansluta till en MySQL-databas måste du installera mysql-connector-python-biblioteket. Du kan installera den med pip:

pip install mysql-connector-python

Här är ett exempel på att ansluta till en MySQL-databas och utföra grundläggande operationer:

import mysql.connector

# Connect to a MySQL database
conn = mysql.connector.connect(
    host='localhost',
    user='yourusername',
    password='yourpassword',
    database='testdb'
)

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

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    position VARCHAR(255)
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO employees (name, position)
VALUES ('Bob', 'Engineer')
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM employees')
print(cursor.fetchall())  # Output: [(1, 'Bob', 'Engineer')]

# Close the connection
conn.close()

Ansluter till en PostgreSQL-databas

För att ansluta till en PostgreSQL-databas behöver du psycopg2-biblioteket. Installera den med pip:

pip install psycopg2

Här är ett exempel på att ansluta till en PostgreSQL-databas och utföra grundläggande operationer:

import psycopg2

# Connect to a PostgreSQL database
conn = psycopg2.connect(
    dbname='testdb',
    user='yourusername',
    password='yourpassword',
    host='localhost'
)

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

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS products (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    price DECIMAL
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO products (name, price)
VALUES ('Laptop', 999.99)
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM products')
print(cursor.fetchall())  # Output: [(1, 'Laptop', 999.99)]

# Close the connection
conn.close()

Slutsats

Att ansluta Python till SQL-databaser är en grundläggande färdighet för alla datadrivna applikationer. Genom att använda bibliotek som sqlite3, mysql-connector-python och psycopg2 kan du enkelt interagera med olika databaser. Genom att förstå hur man utför grundläggande operationer som att skapa tabeller, infoga data och söka efter databaser kommer du att kunna hantera och manipulera dina data effektivt.