DEV Community

Endriw Villa
Endriw Villa

Posted on

 

Criando um CRUD simples com python

Para criar um CRUD (sigla para Create, Read, Update e Delete, que são as operações básicas de um sistema de gerenciamento de banco de dados) com Python, você pode utilizar uma biblioteca de acesso a banco de dados, como o SQLAlchemy. A primeira coisa a fazer é instalar o SQLAlchemy utilizando o seguinte comando:

pip install sqlalchemy

Em seguida, você precisa criar uma conexão com o banco de dados e definir um objeto que represente suas tabelas. Isso pode ser feito da seguinte maneira:

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base

# cria uma conexão com o banco de dados
engine = create_engine('sqlite:///banco_de_dados.db')

# define o objeto base
Base = declarative_base()

# define a classe que representa a tabela
class Tabela(Base):
    __tablename__ = 'tabela'

    id = Column(Integer, primary_key=True)
    nome = Column(String)
    idade = Column(Integer)

Enter fullscreen mode Exit fullscreen mode

Agora você pode criar a tabela no banco de dados e inserir alguns dados, utilizando os seguintes comandos:

# cria a tabela no banco de dados
Base.metadata.create_all(engine)

# insere alguns dados na tabela
from sqlalchemy.orm import sessionmaker

# cria uma sessão com o banco de dados
Session = sessionmaker(bind=engine)
session = Session()

# insere os dados na tabela
dados = [    {'nome': 'João', 'idade': 20},    {'nome': 'Maria', 'idade': 25},    {'nome': 'José', 'idade': 30},]

for dado in dados:
    registro = Tabela(nome=dado['nome'], idade=dado['idade'])
    session.add(registro)

session.commit()

Enter fullscreen mode Exit fullscreen mode

Para ler os dados da tabela, você pode utilizar o seguinte comando:

# lê os dados da tabela
resultado = session.query(Tabela).all()

for registro in resultado:
    print(registro.id, registro.nome, registro.idade)

Enter fullscreen mode Exit fullscreen mode

Para atualizar os dados da tabela, você pode utilizar o seguinte comando:

# atualiza os dados da tabela
registro = session.query(Tabela).get(1)
registro.nome = 'João Silva'
session.commit()

Enter fullscreen mode Exit fullscreen mode

Top comments (2)

Collapse
 
udanielnogueira profile image
Daniel Nogueira

Muito bom! Ainda não conhecia esse SQLAlchemy.

Collapse
 
driuzim profile image
Endriw Villa

é uma biblioteca bem completa e muito boa, muito obrigado :)

Advice For Junior Developers

Advice from a career of 15+ years for new and beginner developers just getting started on their journey.