Esse código Python main.py cria uma aplicação simples de cadastro de alunos em um banco de dados MySQL, permitindo a criação de base de dados, tabela, inserção, visualização, atualização e exclusão de alunos.
Importação de Bibliotecas:
import mysql.connector
import random
mysql.connector: Biblioteca para interagir com o banco de dados MySQL.
random: Biblioteca para gerar números randômicos.
Conexão com o Banco de Dados:
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="Root@123",
database="db_python"
)
mycursor = mydb.cursor()
Conecta ao banco de dados MySQL usando as credenciais fornecidas.
Função create_db:
def create_db():
# Cria uma nova conexão sem especificar um banco de dados
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="Root@123")
try:
mycursor = mydb.cursor()
dataBase = "db_python"
# Tenta criar um novo banco de dados
mycursor.execute(f"CREATE DATABASE {dataBase}")
except:
print(f"\nBase de Dados {dataBase} já Existe!\n")
Função para criar um banco de dados chamado "db_python" se não existir.
Função create_table
def create_table():
try:
# Tenta criar uma tabela chamada "students"
mycursor.execute(f"CREATE TABLE students("
"id_aluno INTEGER primary key auto_increment NOT NULL, "
"... outras colunas ...)")
except:
print(f"\nTabela students já Existe!\n")
Função para criar uma tabela chamada "students" com várias colunas.
Função create_student:
def create_student():
# Coleta informações do usuário
# Insere os dados na tabela students
Função para inserir um novo aluno na tabela, gerando uma matrícula aleatória.
Função show_students:
def show_students():
# Permite a busca de alunos por diferentes campos
# Imprime os resultados
Função para mostrar os alunos cadastrados, permitindo busca por diferentes campos.
Função update_student:
def update_student():
# Permite a atualização de informações de um aluno
Função para atualizar informações de um aluno específico.
Função delete_student:
def delete_student():
# Permite a exclusão de alunos com base em determinado campo
Função para deletar alunos com base em determinado campo.
Loop Principal (Menu):
opcao = str.lower(input("Deseja utilizar o sistema de Cadastro de Alunos? S ou N\n"))
while opcao == "s":
# Apresenta um menu e realiza a ação escolhida pelo usuário
Loop principal que apresenta um menu para o usuário e executa a função correspondente à escolha.
Esse código em Python arquivo index.py conecta a um banco de dados MySQL, recupera dados da tabela "students" e cria uma página HTML exibindo esses dados em forma de tabela. Em seguida, abre essa página HTML no navegador. Vamos explicar cada parte do código:
Verificação da Conexão:
if conn:
print("Connected Successfully")
else:
print("Connection Not Established")
Verifica se a conexão foi estabelecida com sucesso e imprime uma mensagem correspondente.
Execução de Consulta SQL:
select_employee = """SELECT * FROM students"""
cursor = conn.cursor()
cursor.execute(select_employee)
result = cursor.fetchall()
Executa uma consulta SQL para selecionar todos os registros da tabela "students". O resultado é armazenado em uma lista chamada result.
Construção da Tabela HTML:
p = []
tbl = "<tr><td>ID</td><td>Matricula</td><td>Nome</td><td>Sobrenome</td></tr>"
p.append(tbl)
for row in result:
a = "<tr><td>%s</td>" % row[0]
p.append(a)
b = "<td>%s</td>" % row[1]
p.append(b)
c = "<td>%s</td>" % row[2]
p.append(c)
d = "<td>%s</td></tr>" % row[3]
p.append(d)
Constrói uma lista p contendo as linhas da tabela HTML com os dados recuperados do banco de dados.
Criação do Conteúdo HTML:
contents = '''<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8"
http-equiv="content-type">
<title>Python Web Browser</title>
</head>
<body>
<table>
%s
</table>
</body>
</html>
''' % (p)
Cria o conteúdo HTML incorporando a lista p na tabela.
Gravação do Conteúdo HTML em um Arquivo:
filename = '.venv/index.html'
def main(contents, filename):
output = open(filename, "w")
output.write(contents)
output.close()
main(contents, filename)
Grava o conteúdo HTML no arquivo '.venv/index.html'.
Abertura do Arquivo no Navegador Web:
webbrowser.open(filename)
Abre o arquivo HTML recém-criado no navegador web padrão.
Fechamento da Conexão com o Banco de Dados:
cursor.close()
conn.close()
print("MySQL connection is closed.")
Fecha a conexão com o banco de dados se estiver aberta.
Em resumo, o código conecta-se a um banco de dados MySQL, recupera dados de uma tabela, cria uma página HTML com esses dados e a abre no navegador.