Python: cursor.execute() e execução de consultas SQL
Gabarito: C (CERTO). A função cursor.execute() do módulo mysql.connector do Python é capaz de executar uma consulta SQL passada como uma string, como demonstrado no código do enunciado, onde a variável query contém uma string SQL e é passada como argumento para cursor.execute(query, (line,)). Essa é a forma padrão de executar comandos SQL em Python com conectores de banco de dados.
O conector mysql.connector é a biblioteca oficial da Oracle para conectar Python ao MySQL. Ela fornece a classe cursor, cujo método execute() recebe como primeiro argumento uma string contendo a instrução SQL a ser executada. No código apresentado, a string query é construída com a instrução INSERT INTO ... (content) VALUES (%s) e, em seguida, passada ao método execute(), que envia a instrução ao servidor MySQL para execução. Esse método também aceita parâmetros adicionais, como uma tupla ou dicionário, para substituir os placeholders %s na consulta, evitando problemas de injeção de SQL e garantindo a segurança dos dados.
A afirmação da questão é genérica: "A função cursor.execute() é capaz de executar uma consulta SQL que tenha sido passada por uma string." Isso é verdadeiro, pois é exatamente para isso que o método serve. Ele pode executar qualquer instrução SQL válida, como SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, entre outras, desde que a string contenha a sintaxe correta. No código, a consulta é um INSERT, mas o método funciona igualmente para outros tipos de consulta.
É importante destacar que o método execute() não apenas executa a consulta, mas também pode receber parâmetros para preencher os placeholders, como visto no código: cursor.execute(query, (line,)). Isso permite a execução de consultas parametrizadas, uma prática recomendada para evitar vulnerabilidades de segurança.
A banca explora um conceito básico, mas fundamental, da programação com bancos de dados em Python. O candidato que conhece a API do mysql.connector ou de bibliotecas similares (como sqlite3, psycopg2) sabe que execute() é o método responsável por executar a instrução SQL. A pegadinha poderia estar em afirmar que execute() retorna os resultados da consulta (o que não é verdade para SELECT, pois isso é feito por fetchall() ou fetchone()), mas a questão não aborda isso, limitando-se à capacidade de executar a string SQL.
Alternativa C — ✅ Certo ⟵ GABARITO
A afirmação está correta. O método execute() da classe Cursor do mysql.connector (e de outros conectores de banco de dados em Python) é projetado exatamente para executar uma instrução SQL fornecida como uma string. No código do enunciado, a variável query contém a string "INSERT INTO ... (content) VALUES (%s)" e é passada como primeiro argumento para cursor.execute(query, (line,)). Isso demonstra claramente que a função aceita uma string SQL e a executa no banco de dados. Portanto, a assertiva é verdadeira.
Gabarito: letra C (CERTO).