Você entendeu mal como usar a interface do Python.
cnx = mysql.connector.connect(user='root',password='******',
host='localhost',
database='temp-at-interrupt')
cnx.close()
Aqui você se conecta e fecha a conexão. Depois disso, sem nunca definir seu cursor cur
, você tenta executar uma consulta com ele. Isso não vai funcionar.
Você precisa configurar sua conexão, definir seu cursor, executar suas consultas e, depois de concluir a consulta, fechar a conexão.
A documentação do mysql fornece este exemplo, que mostra o fluxo dele:
import mysql.connector
cnx = mysql.connector.connect(user='scott', database='employees')
cursor = cnx.cursor()
tomorrow = datetime.now().date() + timedelta(days=1)
add_employee = ("INSERT INTO employees "
"(first_name, last_name, hire_date, gender, birth_date) "
"VALUES (%s, %s, %s, %s, %s)")
add_salary = ("INSERT INTO salaries "
"(emp_no, salary, from_date, to_date) "
"VALUES (%(emp_no)s, %(salary)s, %(from_date)s, %(to_date)s)")
data_employee = ('Geert', 'Vanderkelen', tomorrow, 'M', date(1977, 6, 14))
# Insert new employee
cursor.execute(add_employee, data_employee)
emp_no = cursor.lastrowid
# Insert salary information
data_salary = {
'emp_no': emp_no,
'salary': 50000,
'from_date': tomorrow,
'to_date': date(9999, 1, 1),
}
cursor.execute(add_salary, data_salary)
# Make sure data is committed to the database
cnx.commit()
cursor.close()
cnx.close()
Aqui você vê claramente o fluxo de conexão com o banco de dados, criando um cursor, executando consultas, confirmando o resultado no banco de dados e, finalmente, limpando e fechando a conexão.