Cómo conectar Python a bases de datos SQL
Conectar Python a bases de datos SQL le permite interactuar con bases de datos directamente desde sus scripts de Python. Esta capacidad es esencial para tareas como la recuperación, actualización y análisis de datos. En este artículo, exploraremos cómo conectar Python a bases de datos SQL mediante bibliotecas populares como SQLite, MySQL y PostgreSQL.
Configuración de su entorno
Para conectar Python a bases de datos SQL, debe instalar las bibliotecas de conexión de base de datos adecuadas. Estas son las bibliotecas comunes para diferentes bases de datos:
- SQLite: No se necesita instalación adicional ya que el soporte de SQLite está integrado en Python.
- MySQL: Utilice la biblioteca
mysql-connector-python
oPyMySQL
. - PostgreSQL: Utilice la biblioteca
psycopg2
.
Conexión a una base de datos SQLite
SQLite es una base de datos liviana que está integrada en la biblioteca estándar de Python. A continuación, se muestra cómo conectarse a una base de datos SQLite y realizar operaciones básicas:
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()
Conectarse a una base de datos MySQL
Para conectarse a una base de datos MySQL, deberá instalar la biblioteca mysql-connector-python
. Puede instalarla usando pip
:
pip install mysql-connector-python
A continuación se muestra un ejemplo de conexión a una base de datos MySQL y realización de operaciones básicas:
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()
Conexión a una base de datos PostgreSQL
Para conectarse a una base de datos PostgreSQL, necesita la biblioteca psycopg2
. Instálela usando pip
:
pip install psycopg2
A continuación se muestra un ejemplo de conexión a una base de datos PostgreSQL y realización de operaciones básicas:
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()
Conclusión
Conectar Python a bases de datos SQL es una habilidad fundamental para cualquier aplicación basada en datos. Al utilizar bibliotecas como sqlite3
, mysql-connector-python
y psycopg2
, puede interactuar fácilmente con varias bases de datos. Comprender cómo realizar operaciones básicas como crear tablas, insertar datos y realizar consultas a bases de datos le permitirá administrar y manipular sus datos de manera eficaz.