WhatsApp

  
Conectándote y Trabajando con SQL Server en Python: Un Tutorial Completo
Conectándote y Trabajando con SQL Server en Python: Un Tutorial Completo

Conectándote y Trabajando con SQL Server en Python: Un Tutorial Completo

Introducción

En este blog, exploraremos cómo conectarte a una base de datos de SQL Server desde Python utilizando el módulo pyodbc. Además, aprenderás cómo insertar datos en una tabla y leer datos de la misma. Ya sea que seas un principiante que busca iniciar su viaje en bases de datos o un desarrollador experimentado que busca trabajar con SQL Server, ¡este tutorial es para ti!

Sección 1: Configurando el Entorno

# Instalación del módulo pyodbc
!pip install pyodbc
import pyodbc
server = "tu_servidor"
database = "tu_base_de_datos"
username = "tu_usuario"
password = "tu_contraseña"
connection_string = (
    f'DRIVER=ODBC Driver 18 for SQL Server;SERVER={server};'
    f'DATABASE={database};UID={username};PWD={password};'
    'TrustServerCertificate=yes;'
)

Sección 2: Escribir Datos en una Tabla de SQL Server

def insertar_datos(conn, nombre, edad):
    try:
        cursor = conn.cursor()
        conn.autocommit = False  # Desactivar el modo de confirmación automática
        # Iniciar la transacción
        cursor.execute("BEGIN TRANSACTION")
        sql_query = f"INSERT INTO TuTabla (Nombre, Edad) VALUES (?, ?)"
        cursor.execute(sql_query, (nombre, edad))
        # Confirmar la transacción si no hay errores
        conn.commit()
        print("Datos insertados con éxito.")
    except Exception as e:
        conn.rollback()  # Revertir la transacción en caso de error
        print(f"Error al insertar datos: {str(e)}")
    finally:
        conn.autocommit = True  # Restaurar el modo de confirmación automática

Sección 3: Leer Datos de una Tabla de SQL Server

def leer_datos_paginados(conn, page_size=10):
    try:
        cursor = conn.cursor()
        page_number = 1
        while True:
            cursor.execute(f"SELECT Nombre, Edad FROM TuTabla ORDER BY Nombre OFFSET {page_size * (page_number - 1)} ROWS FETCH NEXT {page_size} ROWS ONLY")
            rows = cursor.fetchall()
            if not rows:
                break
            print(f"=== Página {page_number} ===")
            for row in rows:
                nombre, edad = row.Nombre, row.Edad
                print(f"Nombre: {nombre}, Edad: {edad}")
            page_number += 1
    except Exception as e:
        print(f"Error al leer datos: {str(e)}")

Sección 4: Ventajas de Trabajar con Bases de Datos

def optimizar_consulta(conn):
    try:
        cursor = conn.cursor()
        cursor.execute("CREATE INDEX IX_Nombre ON TuTabla (Nombre)")  # Crear un índice en la columna Nombre
        print("Índice creado con éxito para optimizar consultas.")
    except Exception as e:
        print(f"Error al crear el índice: {str(e)}")
def ejecutar_procedimiento(conn):
    try:
        cursor = conn.cursor()
        cursor.execute("EXEC TuProcedimientoAlmacenado @Parametro1, @Parametro2")  # Ejecutar un procedimiento almacenado con parámetros
        print("Procedimiento almacenado ejecutado con éxito.")
    except Exception as e:
        print(f"Error al ejecutar el procedimiento almacenado: {str(e)}")

Sección 5: Ventajas de Python para Bases de Datos

def interactuar_con_otra_base_de_datos():
    try:
        # Conexión a una base de datos diferente (por ejemplo, MySQL)
        # Establecer la conexión
        # Realizar operaciones como consultas, inserciones, etc.
        # Cerrar la conexión
        print("Interacción exitosa con otra base de datos utilizando Python.")
    except Exception as e:
        print(f"Error al interactuar con otra base de datos: {str(e)}")

Conclusión

La combinación de Python y SQL Server ofrece una poderosa sinergia para aquellos que buscan trabajar con bases de datos. Al aprovechar la versatilidad de Python y sus capacidades para trabajar con SQL Server, los desarrolladores pueden optimizar sus procesos y maximizar la eficiencia en sus proyectos.


Conectándote y Trabajando con SQL Server en Python: Un Tutorial Completo
Mario Molina 28 diciembre, 2023
Compartir
Categorías


Iniciar sesión dejar un comentario

  
Top Mejores Frameworks para Java
Enfocados para desarrollo Web