Як підключити Python до баз даних SQL

Підключення Python до баз даних SQL дозволяє вам взаємодіяти з базами даних безпосередньо зі своїх сценаріїв Python. Ця можливість є важливою для таких завдань, як пошук даних, оновлення та аналіз. У цій статті ми розглянемо, як підключити Python до баз даних SQL за допомогою популярних бібліотек, таких як SQLite, MySQL і PostgreSQL.

Налаштування вашого середовища

Щоб підключити Python до баз даних SQL, вам потрібно встановити відповідні бібліотеки конекторів бази даних. Ось загальні бібліотеки для різних баз даних:

  • SQLite: Додаткова інсталяція не потрібна, оскільки підтримку SQLite вбудовано в Python.
  • MySQL: Використовуйте бібліотеку mysql-connector-python або PyMySQL.
  • PostgreSQL: Використовуйте бібліотеку psycopg2.

Підключення до бази даних SQLite

SQLite — це легка база даних, вбудована в стандартну бібліотеку Python. Ось як підключитися до бази даних SQLite і виконати основні операції:

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

Підключення до бази даних MySQL

Щоб підключитися до бази даних MySQL, вам потрібно інсталювати бібліотеку mysql-connector-python. Ви можете встановити його за допомогою pip:

pip install mysql-connector-python

Ось приклад підключення до бази даних MySQL і виконання основних операцій:

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

Підключення до бази даних PostgreSQL

Для підключення до бази даних PostgreSQL вам потрібна бібліотека psycopg2. Встановіть його за допомогою pip:

pip install psycopg2

Ось приклад підключення до бази даних PostgreSQL і виконання основних операцій:

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

Висновок

Підключення Python до баз даних SQL є фундаментальним навиком для будь-якої програми, що керується даними. Використовуючи такі бібліотеки, як sqlite3, mysql-connector-python і psycopg2, ви можете легко взаємодіяти з різними базами даних. Розуміння того, як виконувати основні операції, такі як створення таблиць, вставка даних і запит до баз даних, дозволить вам ефективно керувати даними та маніпулювати ними.