Resumo : neste tutorial você aprenderá como excluir dados de uma tabela no banco de dados MySQL usando Python.
Este tutorial continua de onde o tutorial Atualização de dados em uma tabela parou.
Para excluir dados de uma tabela de um programa Python, siga estas etapas:
- Primeiro, conecte-se ao banco de dados criando um novo
MySQLConnection
objeto. - A seguir, crie um novo objeto cursor a partir do objeto Connection.
- Em seguida, chame o
execute()
método do objeto cursor. - Depois disso, confirme as alterações chamando o
commit()
método doMySQLConnection
objeto. - Finalmente, feche o cursor e a conexão com o banco de dados chamando
close()
o método do objeto correspondente.
Excluindo programa
O exemplo a seguir mostra como excluir um livro especificado pelo ID do livro:
from mysql.connector import MySQLConnection, Error
from config import read_config
def delete_book(book_id):
# read database configuration
config = read_config()
# prepare query and data
query = "DELETE FROM books WHERE id = %s"
data = (book_id, )
affected_rows = 0 # Initialize the variable to store the number of affected rows
try:
# connect to the database
with MySQLConnection(**config) as conn:
# update book title
with conn.cursor() as cursor:
cursor.execute(query, data)
# get the number of affected rows
affected_rows = cursor.rowcount
# accept the changes
conn.commit()
except Error as error:
print(error)
return affected_rows # Return the number of affected rows
if __name__ == '__main__':
affected_rows = delete_book(37)
print(f'Number of affected rows: {affected_rows}')
Linguagem de código: Python ( python )
Como funciona.
Como funciona.
Primeiro, importe os módulos necessários, incluindo MySQLConnection
e Error
são classes do mysql.connector
módulo e read_config
é uma função de um módulo personalizado config
.
from mysql.connector import MySQLConnection, Error
from config import read_config
Linguagem de código: Python ( python )
Segundo, defina uma função chamada delete_book
que receba um parâmetro book_id
. A função lê a configuração do banco de dados e prepara uma consulta SQL para excluir o livro com o ID especificado:
def delete_book(book_id):
# read database configuration
config = read_config()
# prepare query and data
query = "DELETE FROM books WHERE id = %s"
data = (book_id, )
Linguagem de código: Python ( python )
Terceiro, abra uma conexão de banco de dados ( MySQLConnection
) com a configuração do arquivo de configuração e crie um cursor (cursor). Dentro da instrução aninhada with
, exclua o livro especificado pelo ID e retorne o número de linhas afetadas obtidas de cursor.rowcount
:
affected_rows = 0 # Initialize the variable to store the number of affected rows
try:
# connect to the database
with MySQLConnection(**config) as conn:
# update book title
with conn.cursor() as cursor:
cursor.execute(query, data)
# get the number of affected rows
affected_rows = cursor.rowcount
# accept the changes
conn.commit()
Linguagem de código: Python ( python )
Quarto, exiba o erro se ele ocorrer durante a exclusão:
except Error as error:
print(error)
Linguagem de código: JavaScript ( javascript )
Quinto, retorne o número de linhas afetadas:
return affected_rows # Return the number of affected rows
Linguagem de código: PHP ( php )
Por fim, chame a delete_book()
função para deletar o livro com id 37:
if __name__ == '__main__':
affected_rows = delete_book(37)
print(f'Number of affected rows: {affected_rows}')
Linguagem de código: Python ( python )
Resumo
- Chame o
execute()
método de um objeto cursor para executar aDELETE
instrução para excluir dados em uma tabela e ocommit()
método de um objeto de conexão para aplicar as alterações ao banco de dados.