Untitled
unknown
python
2 years ago
3.5 kB
22
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