- Python: Certifique-se de que o Python está instalado em seu sistema.
- MySQL Server: Você precisará do MySQL Server instalado e em execução.
- Conector MySQL para Python: Use o pacote mysql-connector-python para conectar o Python ao MySQL.
- Configuração do Ambiente: Instale o conector MySQL para Python
pip install mysql-connector-python
- Crie um arquivo chamado controledebancodedados.py para gerenciar a conexão com o MySQL
import mysql.connector from mysql.connector import errorcode
- Gerenciar a criação exclusão de tabelas, assim como colunas, chave primaria e estrangeira.
- Inserção, atualização e exclusão de registros.
- Busca e listagem de dados com filtros.
- Crie uma variavel que vai receber a classe Moderador que recebe o nome do banco de dados a ser criado, Ex: biblioteca
root = Moderador("biblioteca")
Se o banco de dados existir, será tentado uma conexão, caso consiga será impresso na tela:Conexão ao MySQL Server bem-sucedida
Se não, o banco de dados será criado:
Banco de Dados: BIBLIOTECAConexão ao MySQL Server bem-sucedida
Criação de Banco de dados bem sucedida
Banco de Dados: BIBLIOTECA - commit()#CONFIRMA A TRANSAÇÃO ATUAL
- close()#ENCERRAR CONEXÕES
- dataBaseDrop() #DELETAR BANCO DE DADOS
- tableCreate(table,colls)#CRIA TABELAS (PARAMETRO: nome da tabela, nome das colunas e seu respectivos valores) Criar tabela Livros:
- tableDrop(table): #DELETAR TABELAS (PARAMETRO:nome da tabela)
- addColumns(table,coll)#ADICIONA COLUNA (PARAMETRO: nome da tabela, nome das colunas e seu respectivos valores)
- dropColumns(table,coll): #EXCLUIR COLUNA (PARAMETRO: nome da tabela, nome da coluna)
- alterForeign(table1,coll1,table2,coll2):#ADD CHAVE ESTRANGEIRA
(PARAMETRO: nome da tabela 1, nome da coluna 1,nome da tabela 2, nome da coluna 2) - alterForeignCONSTRAINT(self,table1,coll1,table2,coll2,ship):#ADD CHAVE ESTRANGEIRA
(PARAMETRO: nome da tabela 1, nome da coluna 1,nome da tabela 2, nome da coluna 2, restrição) - dropForeign(self,table,coll):#EXCLUIR CHAVE ESTRANGEIRA (PARAMETRO: nome da tabela, nome da coluna)
- alterPrimaryKey(self,table,coll):#ALTERAR CHAVE PRIMARIA (PARAMETRO: nome da tabela, nome da coluna)
- dropPrimaryKey(table):#EXCLUIR CHAVE PRIMARIA
- showTable(self):#MOSTRAR TODAS AS TABELAS
- showColumns(self,table):#MOSTRAR TODAS AS COLUNAS EM UMA TABELAS (PARAMETRO: nome da tabela)
- insert(table,coll,values):#INSERIR REGISTROS (PARAMETRO: nome da tabela,colunas afetadas,valores) Inserir registro na tabela Livros
- delete(table,coll,values):#DELETAR REGISTRO (PARAMETRO: nome da tabela,colunas onde valor ocorrore)
- update(table,values,_id):#ATUALIZAR REGISTRO (PARAMETRO: nome da tabela,coluna, id ou valor)
- select(table,coll):#SELECIONAR VALORES(PARAMETRO: nome da tabela, string coluna='valor' procurados)
- search(table,coll):#EXIBIR REGISTROS(PARAMETRO: nome da tabela,nome da coluna ou * para ver todas as colunas)
root.commit()
root.close()
root.dataBaseDrop()
root.tableCreate("livros",""" titulo VARCHAR(100), autor VARCHAR(20), ano_publicacao INT, editora VARCHAR(20), genero VARCHAR(20)""")Criar tabela Autores:
root.tableCreate("autores",""" id_autor INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(20), nacionalidade VARCHAR(20), data_nascimento VARCHAR(30)""")
root.tableDrop('autores')
root.addColumns('livros','isnb10 INT NOT NULL')
root.addColumns('livros','idioma VARCHAR(15)')
root.dropColumns('livros','idioma')
root.alterForeign('autores','nome','livros','autor')
root.alterForeignCONSTRAINT('autores','nome','livros','autor','FK_livrosAutores')
root.dropForeign('livros','autor')
root.alterPrimaryKey('livros','isnb10')
root.dropPrimaryKey('livros')
for i in root.showTable(): print(i)
for i in root.showColumns('livros'): print(i)
#Colunas Livros livros = 'titulo,autor,ano_publicacao,editora,genero,isnb10'
root.insert('livros',livros,'"Dom Casmurro", "Machado de Assis",1899,"Garnier","Romance",6586490081')
root.insert('livros',livros,'"O Senhor dos Anéis: A Sociedade do Anel","J.R.R. Tolkien",1954,"Allen & Unwin","Fantasia",8595084750')
root.insert('livros',livros,'"1984","George Orwell",1949,"Secker & Warburg","Ficção Distópica",6587034209')
root.insert('livros',livros,'"Harry Potter e a Pedra Filosofal","J.K. Rowling", 1997,"Bloomsbury","Fantasia",8532530788')Inserir registro na tabela Autores
#Colunas Autores autores = 'nome,nacionalidade,data_nascimento'
root.insert('autores',autores,'"Agatha Christie","Britânica","1890-09-15"')
root.insert('autores',autores,'"George Orwell","Britânica","1903-06-25"')
root.insert('autores',autores,'"J.R.R. Tolkien","Britânica","1892-01-03"')
root.insert('autores',autores,'"J.K. Rowling","Britânica","1965-07-31"')
root.delete('livros','autor','J.K. Rowling')
root.update('livros','titulo="Harry Potter e a Câmara Secreta,isbn=8532530796,ano_publicacao=1998"','autor="J.K. Rowling"')
root.select('livros','autor="J.K. Rowling"')
root.update('livros','*')
Interface de usuário (UI) com frameworks como Tkinter (para aplicações de desktop) ou Flask/Django (para aplicações web).
Este projeto base oferece um sólido ponto de partida para o gerenciamento de bancos de dados em Python, com ampla margem para expansão e personalização conforme sua necessidade.