Jak połączyć Pythona z bazami danych SQL

Łączenie Pythona z bazami danych SQL umożliwia interakcję z bazami danych bezpośrednio ze skryptów Pythona. Ta możliwość jest niezbędna do zadań takich jak pobieranie danych, aktualizacje i analiza. W tym artykule przyjrzymy się, jak łączyć Pythona z bazami danych SQL przy użyciu popularnych bibliotek, takich jak SQLite, MySQL i PostgreSQL.

Konfigurowanie środowiska

Aby połączyć Python z bazami danych SQL, musisz zainstalować odpowiednie biblioteki łączników baz danych. Oto typowe biblioteki dla różnych baz danych:

  • SQLite: Nie jest wymagana żadna dodatkowa instalacja, ponieważ obsługa SQLite jest wbudowana w Python.
  • MySQL: Użyj biblioteki mysql-connector-python lub PyMySQL.
  • PostgreSQL: Użyj biblioteki psycopg2.

Łączenie się z bazą danych SQLite

SQLite to lekka baza danych wbudowana w standardową bibliotekę Pythona. Oto jak połączyć się z bazą danych SQLite i wykonać podstawowe operacje:

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()

Łączenie się z bazą danych MySQL

Aby połączyć się z bazą danych MySQL, musisz zainstalować bibliotekę mysql-connector-python. Możesz ją zainstalować za pomocą pip:

pip install mysql-connector-python

Oto przykład połączenia z bazą danych MySQL i wykonania podstawowych operacji:

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()

Łączenie się z bazą danych PostgreSQL

Aby połączyć się z bazą danych PostgreSQL, potrzebujesz biblioteki psycopg2. Zainstaluj ją za pomocą pip:

pip install psycopg2

Oto przykład połączenia z bazą danych PostgreSQL i wykonania podstawowych operacji:

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()

Wniosek

Łączenie Pythona z bazami danych SQL jest podstawową umiejętnością dla każdej aplikacji opartej na danych. Korzystając z bibliotek takich jak sqlite3, mysql-connector-python i psycopg2, możesz łatwo wchodzić w interakcje z różnymi bazami danych. Zrozumienie, jak wykonywać podstawowe operacje, takie jak tworzenie tabel, wstawianie danych i wykonywanie zapytań do baz danych, pozwoli Ci skutecznie zarządzać danymi i manipulować nimi.