Cum se conectează Python la baze de date SQL

Conectarea Python la bazele de date SQL vă permite să interacționați cu bazele de date direct din scripturile dvs. Python. Această capacitate este esențială pentru sarcini precum regăsirea datelor, actualizări și analize. În acest articol, vom explora cum să conectați Python la bazele de date SQL folosind biblioteci populare, cum ar fi SQLite, MySQL și PostgreSQL.

Configurarea mediului

Pentru a conecta Python la bazele de date SQL, trebuie să instalați bibliotecile de conectori de baze de date corespunzătoare. Iată bibliotecile comune pentru diferite baze de date:

  • SQLite: Nu este necesară nicio instalare suplimentară, deoarece suportul SQLite este integrat în Python.
  • MySQL: Utilizați biblioteca mysql-connector-python sau PyMySQL.
  • PostgreSQL: Utilizați biblioteca psycopg2.

Conectarea la o bază de date SQLite

SQLite este o bază de date ușoară care este încorporată în biblioteca standard a lui Python. Iată cum să vă conectați la o bază de date SQLite și să efectuați operațiuni de bază:

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

Conectarea la o bază de date MySQL

Pentru a vă conecta la o bază de date MySQL, va trebui să instalați biblioteca mysql-connector-python. Îl puteți instala folosind pip:

pip install mysql-connector-python

Iată un exemplu de conectare la o bază de date MySQL și de efectuare a operațiunilor de bază:

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

Conectarea la o bază de date PostgreSQL

Pentru a vă conecta la o bază de date PostgreSQL, aveți nevoie de biblioteca psycopg2. Instalați-l folosind pip:

pip install psycopg2

Iată un exemplu de conectare la o bază de date PostgreSQL și de efectuare a operațiunilor de bază:

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

Concluzie

Conectarea Python la bazele de date SQL este o abilitate fundamentală pentru orice aplicație bazată pe date. Folosind biblioteci precum sqlite3, mysql-connector-python și psycopg2, puteți interacționa cu ușurință cu diferite baze de date. Înțelegerea modului de efectuare a operațiunilor de bază, cum ar fi crearea de tabele, inserarea datelor și interogarea bazelor de date, vă va permite să gestionați și să manipulați datele în mod eficient.