Untitled
unknown
python
a year ago
3.5 kB
10
Indexable
import sqlite3 from pprint import pprint # Conectar-se a ou criar um banco de dados def conectar_db(nome_db): try: conn = sqlite3.connect(nome_db) return conn except sqlite3.Error as e: print(f'Erro ao conectar-se a base de dados: {e}') # Fechar conexão com o banco de dados def fechar_db(conn): try: if conn: conn.close() print('Conexão com o banco de dados fechada com sucesso!') except sqlite3.Error as e: print(f'Erro ao fechar a conexão com o banco de dados: {e}') # Criar tabela def criar_tabela(conn): cursor = conn.cursor() try: nome_tabela = input('Digite o nome da tabela: ').capitalize() nome_tabela.replace(' ', '_') cursor.execute(f''' CREATE TABLE IF NOT EXISTS {nome_tabela} ( id INTEGER PRIMARY KEY AUTOINCREMENT, nome VARCHAR(50) NOT NULL, cargo VARCHAR(50) NOT NULL, dataContratacao VARCHAR(50) NOT NULL ); ''') conn.commit() print(f'Tabela {nome_tabela} criada com sucesso!') except sqlite3.Error as e: print(f'Erro ao criar tabela: {e}') fechar_db(conn) # Inserir dados na tabela def inserir_funcionario(conn): while True: cursor = conn.cursor() nome = input('Digite o nome: ') cargo = input('Digite o cargo: ') data = input('Digite a data de contratação no formato aaaa-mm-dd: ') try: cursor.execute("INSERT INTO Funcionarios (nome, cargo, dataContratacao) VALUES (?, ?, ?)", (nome, cargo, data)) conn.commit() print('Dado inserido com sucesso!') except sqlite3.Error as e: print(f'Erro ao inserir dado: {e}') continuar = input('Deseja continuar? [S/N]').upper() if continuar != 'S': break fechar_db(conn) # Listar todos os dados de uma tabela def listar_funcionarios(conn): cursor = conn.cursor() try: cursor.execute('SELECT * FROM Funcionarios') funcionarios = cursor.fetchall() pprint(funcionarios) except sqlite3.Error as e: print(f'Erro ao consultar dados: {e}') def atualizar_funcionarios(conn): cursor = conn.cursor() listar_funcionarios(conn) while True: ident = input('Digite o ID do funcionário que deseja atualizar: ') cargo = input('Digite o novo cargo: ') try: cursor.execute('UPDATE Funcionarios SET cargo = ? WHERE id = ?', (cargo, ident)) conn.commit() print('Dado atualizado com sucesso!') except sqlite3.Error as e: print(f'Erro ao atualizar dado: {e}') continuar = input('Deseja continuar? [S/N]').upper() if continuar != 'S': break fechar_db(conn) # Deletar dados de uma tabela def excluir_funcionario(conn): cursor = conn.cursor() listar_funcionarios(conn) while True: ident = input('Digite o ID do funcionário que deseja excluir: ') try: cursor.execute('DELETE FROM Funcionarios WHERE id = ?', (ident,)) conn.commit() print('Dado excluído com sucesso!') except sqlite3.Error as e: print(f'Erro ao excluir dado: {e}') continuar = input('Deseja continuar? [S/N]').upper() if continuar != 'S': break fechar_db(conn)
Editor is loading...
Leave a Comment