Você está aqui: Python ::: Projetos Python Completos - Códigos Fonte Completos Python ::: Projetos Python MySQL

Como criar uma Agenda de Contatos em Python + MySQL - Projeto completo com código fonte - Versão console

Quantidade de visualizações: 4488 vezes
Sobre este projeto Python

Nesta dica apresentarei um CRUD completo em Python com MySQL. Trata-se de uma aplicação console usando um menu de opções que mostra, de forma simples e com código comentado, como você pode fazer uma conexão Python + MySQL e disparar comandos SQL INSERT, SELECT, DELETE e UPDATE.

Este código serve como o ponto de início para qualquer estudante ou programador Python que queira entender melhor o processo de manipular bases de dados MySQL a partir da linguagem Python. Esta técnica é muito preciosa, tanto para programadores front-end quanto back-end.

Vamos começar com a estrutura da tabela MySQL usada no projeto.

A tabela MySQL contatos

Neste projeto eu criei uma base de dados chamada "agenda" e uma tabela chamada "contatos". Veja o comando DDL para a sua criação:

CREATE TABLE contatos(
  id int(11) NOT NULL AUTO_INCREMENT,
  nome varchar(200) NOT NULL,
  email varchar(100) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


Depois de criada a base de dados, crie esta tabela e se certifique de que tudo está funcionando 100%.

A conexão Python + MySQL

Para efetuar a conexão entre a linguagem Python e o banco de dados MySQL nós usaremos o MySQL Connector Python. Veja os imports a seguir:

# vamos importar o módulo MySQL Connector Python
import mysql.connector
# vamos importar a classe Error
from mysql.connector import Error


Veja agora o código que efetua a conexão com o banco de dados, informando o servidor, a base de dados, o nome de usuário e a senha:

# vamos obter a conexão com o banco de dados MySQL
try:
  conexao = mysql.connector.connect(host='localhost',
  database='agenda', user='root', password='osmar1234')
except Error as e:
  print("Houve um erro ao tentar efetuar a conexão MySQL:", e) 


Vamos ver a tela principal da aplicação Agenda de Contatos

Veja como o menu de opções está estruturado:



Note que cada item do menu chama uma operação no banco de dados.

Vamos ver um pouco do código Python?

Veja um trecho de código no qual mostramos como inserir um novo registro na tabela contatos:

# esta função é usada para cadastrar um novo contato na agenda
def cadastrar_novo_contato(conexao):
  # vamos ler os dados do novo contato
  nome = input("\nNome: ")
  email = input("E-mail: ")
  
  # cria o cursor para a transação
  cursor =  conexao.cursor()
  # define o comando SQL
  sql = "INSERT INTO contatos(id, nome, email) VALUES (NULL, %s, %s)"
  valores = (nome, email)
  # executa o comando SQL
  cursor.execute(sql, valores)
  # faz o commit da transação
  conexao.commit()
  # fecha o cursor
  cursor.close()
  # e exibe uma mensagem de sucesso
  print("\nO novo contato foi gravado com sucesso.")


Como posso obter este código fonte?

Os links para você baixar este projeto da Agenda de Contatos usando Python + MySQL está logo abaixo:

1) AGENDACONTPYCONS - Agenda de Contatos em Python com Banco de Dados MySQL - Faça o Download.

Não se esqueça: Uma boa forma de estudar o código é fazendo pequenas alterações e rodando para ver os resultados. Outra opção é começar um projeto Python do zero e ir adicionando trechos do código fonte para melhor entendimento de suas partes.

Link para compartilhar na Internet ou com seus amigos:

Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes)

Como gerar vetores e matrizes com números inteiros aleatórios usando a função random.randint() da biblioteca NumPy para - Machine Learning com Python

Quantidade de visualizações: 822 vezes
Veremos nessa dica como podemos usar o método random.randint() da biblioteca NumPy para gerar vetores e matrizes já preenchidos com números inteiros aleatórios.

Note que a criação de vetores e matrizes preenchidos com números randômicos é uma parte importante para o desenvolvimento de modelos de teste (test models) em Inteligência Artificial (IA), Machine Learning e outras áreas de estudo que envolvem Data Science.

Vamos começar com a forma mais simples do uso da função random.randint() para gerar um vetor de 10 elementos contendo números aleatórios de 0 até 10 (não incluído):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos o módulo random da bibliteca NumPy
from numpy import random

def main():
  # vamos gerar um vetor de números inteiros aleatórios
  #  de 0 (incluído) à 10 (não incluído) 
  valores = random.randint(10, size=10)
  print("O vetor gerado foi: ", valores)  

if __name__== "__main__":
  main()


Ao executar este código teremos um resultado parecido com:

O vetor gerado foi: [0 3 2 3 8 9 3 9 6 4]

Aqui nós informamos o limite alto do valor aleatório a ser gerado (mas ele não é incluído). Se quisermos limitar a faixa inferior, podemos tirar proveito dos parâmetros low e high da função randint(). Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos o módulo random da bibliteca NumPy
from numpy import random

def main():
  # vamos gerar um vetor de números inteiros aleatórios
  #  de 50 (incluído) à 101 (não incluído) 
  valores = random.randint(50, 101, 10)
  print("O vetor gerado foi: ", valores)  

if __name__== "__main__":
  main()

Agora o resultado será parecido com:

O vetor gerado foi: [92 89 66 52 61 77 55 58 72 55]

Para gerarmos uma matriz, por exemplo, de 2 linhas e 4 colunas, só precisamos gerar o vetor de números aleatórios e em seguida usar o método reshape(), também da biblioteca NumPy para converter a matriz de uma dimensão (vetor) em uma matriz de duas dimensões. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

from numpy import random

def main():
  # vamos gerar um vetor de números inteiros aleatórios
  #  de 1 (incluído) à 21 (não incluído) 
  valores = random.randint(1, 21, 8)
  
  # agora vamos converter o vetor para uma matriz
  # de 2 linhas e 4 colunas 
  valores = valores.reshape(2, 4)

  print("A matriz gerada foi: ", valores)  

if __name__== "__main__":
  main()

Quando executamos este código nós temos um resultado parecido com:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

A matriz gerada foi:  [[17  5  2  9]
 [14 10 10 19]]

A partir da versão 1.19 da NumPy, os desenvolvedores da biblioteca recomendam o uso do método integers() do módulo default_rng().


Python ::: Dicas & Truques ::: Sistema

Como obter o diretório do seu programa Python usando sys.path[0]

Quantidade de visualizações: 9577 vezes
Nesta dica eu mostrarei como é possível usar a primeira posição da lista de strings contida na propriedade path do módulo sys da linguagem Python. Lembre-se de que sys.path contém uma lista de strings especificando os caminhos de busca para os módulos Python.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

import sys

# função principal do programa
def main():
  print("O diretório do programa é: ", sys.path[0])
 
if __name__== "__main__":
  main()

Ao executarmos este código nós teremos o seguinte resultado:

O diretório do programa é: c:\estudos_python


Python ::: Dicas & Truques ::: Lista (List)

Como criar uma lista Python vazia e adicionar itens a ela usando o laço for..in

Quantidade de visualizações: 11830 vezes
Nesta dica mostrarei como é possível usar o operador de vetor "[]" para criar um objeto List vazio na linguagem Python. Em seguida usaremos o laço for..in para adicionar 10 elementos a esta lista.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

"""
  Este exemplo mostra como criar uma list
  vazia e inicializá-la usando o laço for.
"""

def main():
  # cria uma lista vazia
  valores = []
 
  # adiciona valores a ela
  for num in range(1, 11):
    valores += [(num * 2)]
 
  # exibe os valores da lista
  for num in valores:
    print(num)

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

2
4
6
8
10
12
14
16
18
20


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 48 usuários muito felizes estudando em nosso site.