SQLite Python: atualizando dados

Resumo : neste tutorial mostraremos como atualizar dados no banco de dados SQLite de um programa Python usando o módulo sqlite3.

Para atualizar dados em uma tabela de um programa Python, siga estas etapas:

  1. Primeiro, crie uma conexão de banco de dados com o banco de dados SQLite usando a connect()função. Depois que a conexão com o banco de dados for criada, você poderá acessar o banco de dados usando o Connectionobjeto.
  2. Segundo, crie um Cursorobjeto chamando o cursor()método do Connectionobjeto.
  3. Terceiro, execute a UPDATEinstrução chamando o execute()método do Cursorobjeto.

Neste exemplo atualizaremos a prioridade, data de início e data de término de uma tarefa específica na taskstabela.

Para criar uma conexão com o banco de dados, você usa a seguinte create_connection()função:

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 connLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Esta update_task()função atualiza uma tarefa específica:

def update_task(conn, task):
    """
    update priority, begin_date, and end date of a task
    :param conn:
    :param task:
    :return: project id
    """
    sql = ''' UPDATE tasks
              SET priority = ? ,
                  begin_date = ? ,
                  end_date = ?
              WHERE id = ?'''
    cur = conn.cursor()
    cur.execute(sql, task)
    conn.commit()Linguagem de código:  Python  ( python )

A main()função a seguir cria uma conexão com o banco de dados localizado na pasta C:\sqlite\db\pythonsqlite.db e chama a update_task()função para atualizar uma tarefa com id 2:

def main():
    database = r"C:\sqlite\db\pythonsqlite.db"

    # create a database connection
    conn = create_connection(database)
    with conn:
        update_task(conn, (2, '2015-01-04', '2015-01-06', 2))


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 update_task(conn, task):
    """
    update priority, begin_date, and end date of a task
    :param conn:
    :param task:
    :return: project id
    """
    sql = ''' UPDATE tasks
              SET priority = ? ,
                  begin_date = ? ,
                  end_date = ?
              WHERE id = ?'''
    cur = conn.cursor()
    cur.execute(sql, task)
    conn.commit()


def main():
    database = r"C:\sqlite\db\pythonsqlite.db"

    # create a database connection
    conn = create_connection(database)
    with conn:
        update_task(conn, (2, '2015-01-04', '2015-01-06', 2))


if __name__ == '__main__':
    main()Linguagem de código:  Python  ( python )

Depois de executar o programa, você pode se conectar ao banco de dados via shell de comando sqlite3:

Use estes comandos para formatar a saída:

sqlite> .header on
sqlite> .mode columnLinguagem de código:  CSS  ( css )

E use a seguinte instrução para obter a tarefa com id 2:

SELECT * FROM tasks WHERE id = 2;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Conforme mostrado claramente na captura de tela, a tarefa com id 2 foi atualizada com sucesso.

Neste tutorial, você aprendeu como atualizar dados em uma tabela a partir de um programa Python.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *