Resumo : este tutorial mostra como excluir dados do banco de dados SQLite de um programa Python usando o módulo sqlite3.
Para excluir dados do banco de dados SQLite de um programa Python, você usa as seguintes etapas:
- Primeiro, estabeleça uma conexão com o banco de dados SQLite criando um
Connection
objeto usando aconnect()
função. - Segundo, para executar uma
DELETE
instrução, você precisa criar umCursor
objeto usando ocursor()
método doConnection
objeto. - Terceiro, execute a
DELETE
instrução usando oexecute()
método doCursor
objeto. Caso queira passar os argumentos para a instrução, use um ponto de interrogação (?
) para cada argumento.
A create_connection()
função a seguir estabelece uma conexão de banco de dados com um banco de dados SQLite especificado por um nome de arquivo de banco de dados:
def create_connection(db_file):
""" create a database connection to the SQLite database
specified by the db_file
:param db_file: database file
:return: Connection object or None
"""
conn = None
try:
conn = sqlite3.connect(db_file)
except Error as e:
print(e)
return conn
Linguagem de código: Python ( python )
A delete_task()
função a seguir exclui uma tarefa da tasks
tabela por id.
def delete_task(conn, id):
"""
Delete a task by task id
:param conn: Connection to the SQLite database
:param id: id of the task
:return:
"""
sql = 'DELETE FROM tasks WHERE id=?'
cur = conn.cursor()
cur.execute(sql, (id,))
conn.commit()
Linguagem de código: Python ( python )
A delete_all_tasks()
função a seguir exclui todas as linhas da tasks
tabela.
def delete_all_tasks(conn):
"""
Delete all rows in the tasks table
:param conn: Connection to the SQLite database
:return:
"""
sql = 'DELETE FROM tasks'
cur = conn.cursor()
cur.execute(sql)
conn.commit()
Linguagem de código: Python ( python )
Esta main()
função chama a create_connection()
função e a delete_task()
função para excluir a tarefa com id 2 da tasks
tabela:
def main():
database = r"C:\sqlite\db\pythonsqlite.db"
# create a database connection
conn = create_connection(database)
with conn:
delete_task(conn, 2);
# delete_all_tasks(conn);
if __name__ == '__main__':
main()
Linguagem de código: Python ( python )
Aqui está o programa completo:
import sqlite3
from sqlite3 import Error
def create_connection(db_file):
""" create a database connection to the SQLite database
specified by the db_file
:param db_file: database file
:return: Connection object or None
"""
conn = None
try:
conn = sqlite3.connect(db_file)
except Error as e:
print(e)
return conn
def delete_task(conn, id):
"""
Delete a task by task id
:param conn: Connection to the SQLite database
:param id: id of the task
:return:
"""
sql = 'DELETE FROM tasks WHERE id=?'
cur = conn.cursor()
cur.execute(sql, (id,))
conn.commit()
def delete_all_tasks(conn):
"""
Delete all rows in the tasks table
:param conn: Connection to the SQLite database
:return:
"""
sql = 'DELETE FROM tasks'
cur = conn.cursor()
cur.execute(sql)
conn.commit()
def main():
database = r"C:\sqlite\db\pythonsqlite.db"
# create a database connection
conn = create_connection(database)
with conn:
delete_task(conn, 2);
# delete_all_tasks(conn);
if __name__ == '__main__':
main()
Linguagem de código: Python ( python )
Observe que você pode comentar/descomentar a chamada de função na main()
função para testar cada função de exclusão individualmente.
Neste tutorial, você aprendeu como excluir dados do banco de dados SQLite de um programa Python usando o módulo sqlite3.