Sobes.tech
Middle

O que é o cursor e para que serve?

sobes.tech IA

Resposta da IA

O cursor (Cursor) no contexto de bases de dados e sua interação com Python (por exemplo, com bibliotecas como psycopg2 ou sqlite3) é um objeto que permite executar comandos SQL e obter resultados.

Ele é o ponto de interação entre a aplicação Python e a base de dados.

Para que serve:

  • Executar consultas SQL: Através do objeto cursor, chamam-se métodos (por exemplo, execute()), que enviam comandos SQL para a base de dados.
  • Processar resultados: O cursor fornece métodos para obter os dados retornados pelas consultas (por exemplo, fetchone(), fetchall(), fetchmany()).
  • Gestão de transações (às vezes): Embora os principais métodos de gestão de transações (commit(), rollback()) normalmente estejam no objeto de conexão (connection), o cursor trabalha dentro da transação atual, ligada à conexão.
  • Iterar sobre os resultados: O cursor pode ser um objeto iterável, permitindo percorrer facilmente as linhas do resultado da consulta.

Em termos simples, se a conexão à base de dados é como um "canal", então o cursor é como uma "válvula" nesse canal, através da qual passam as consultas e os dados.

Exemplo de uso com sqlite3:

import sqlite3

# Estabelecer conexão com a base de dados
conn = sqlite3.connect(':memory:')
# Criar objeto cursor
cursor = conn.cursor()

# Executar consulta SQL através do cursor
cursor.execute("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)")
cursor.execute("INSERT INTO users (name) VALUES (?)", ('Alice',))

# Selecionar dados
cursor