O Python fornece vários módulos para trabalhar com bancos de dados, incluindo sqlite3, MySQLdb e psycopg2. Esses módulos permitem uma fácil interação com o banco de dados para armazenar, recuperar e manipular dados de forma eficiente. Você pode construir, alterar e gerenciar bancos de dados de forma eficaz e eficiente com um conhecimento básico da linguagem Python e da sintaxe SQL.
Passos para Criação de Banco de Dados Usando Python
Passo 1
Instale um adaptador de banco de dados que corresponda ao sistema de gerenciamento de banco de dados que deseja usar. Por exemplo, se você deseja usar o SQLite, pode instalar o módulo sqlite3. Para MySQL, pode instalar o módulo MySQLdb, e para PostgreSQL, pode instalar o psycopg2. Neste tutorial, consideraremos o SQLite, MongoDB e MySQLdb. Para usar o SQLite em seu código Python, importe o módulo sqlite3:
import sqlite3
Uma vez que você instalou o módulo apropriado, você precisa criar uma conexão com o banco de dados, que serve como uma ponte entre o código Python e o banco de dados, permitindo enviar comandos e receber resultados. Por exemplo, no SQLite, você pode criar uma conexão usando o seguinte código.
Para um exemplo de banco de dados chamado school.db, você conecta como mostrado no código abaixo:
conn = sqlite3.connect('school.db')
Passo 2
Crie tabelas no banco de dados. Para criar tabelas em um banco de dados, você precisará escrever instruções SQL usando o objeto cursor obtido da conexão. Por exemplo, para criar uma tabela chamada “employees” com colunas “id”, “username”, salário, departamento e “email”, você usa o seguinte código:
conn = sqlite3.connect('school.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE employees (
id INTEGER PRIMARY KEY,
username TEXT,
email,
salary REAL,
department TEXT
)
''')
Passo 3
Inserir, atualizar e recuperar dados do banco de dados usando comandos SQL e o objeto cursor. Para adicionar dados às tabelas, você pode usar a instrução SQL “INSERT INTO”. Salve os dados usando o método `commit()`. Por exemplo, o seguinte código insere dados na tabela “employees”:
conn = sqlite3.connect('school.db')
cursor = conn.cursor()
cursor.execute("INSERT INTO employees (username, email, salary, department) VALUES ('Joseph', 'joseph@gmail,com' 70000, 'IT')")
conn.commit()
Passo 4
Recupere dados das tabelas. Para recuperar dados das tabelas, você pode usar a instrução SQL “SELECT”. Por exemplo, para recuperar todos os usuários da tabela “users”, você pode usar o seguinte código:
cursor.execute("SELECT * FROM employees")
rows = cursor.fetchall()
for row in rows:
print(row)
Passo 5
Crie visualizações executando uma instrução CREATE VIEW e use o método `execute()` do objeto cursor para executar uma instrução CREATE VIEW.
# Execute a instrução CREATE VIEW
cursor.execute('''
CREATE VIEW employees_view AS
SELECT name, age, department, email, FROM employees;
''')
Passo 6
Feche a conexão. Depois de terminar de trabalhar com o banco de dados, é importante fechar a conexão para liberar os recursos. Você pode fechar a conexão usando o método close() do objeto de conexão. Por exemplo:
conn.commit()
conn.close()
Exemplo para MySQLdb
Para criar um banco de dados no MySQLdb, importe o módulo MYSQLdb e conecte-se ao banco de dados usando o método `connect()`. Você pode criar um cursor e usá-lo para executar comandos SQL. O método `execute()` é usado para criar uma tabela e inserir dados nela. Após confirmar as alterações, usamos o cursor para selecionar dados da tabela e buscar todos os dados usando o método `fetchall()`. E finalmente, feche o cursor e a conexão com o banco de dados.
import MySQLdb
# Conectar ao banco de dados
conn = MySQLdb.connect(host="localhost", user="std", passwd="@12343!J", db="school.db")
# Criar um cursor para executar comandos SQL
cursor = conn.cursor()
# Criar uma tabela
cursor.execute("""
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
salary DECIMAL(10,2),
department VARCHAR(255)
)
""")
# Inserir dados na tabela
cursor.execute("""
INSERT INTO employees (name, salary, department)
VALUES
("Joseph", 70000, "IT"),
("Jane", 80000, "Marketing")
""")
# Confirmar as alterações no banco de dados
conn.commit()
# Selecionar dados da tabela
cursor.execute("SELECT * FROM employees")
# Buscar todos os dados
employees = cursor.fetchall()
# Imprimir os dados
for employee in employees:
print(employee)
# Fechar o cursor e a conexão
cursor.close()
conn.close()
Exemplo para MongoDB
Importe o módulo pymongo e conecte-se ao banco de dados usando a classe `MongoClient()`. Em seguida, obtenha uma referência ao banco de dados e à coleção, equivalente a uma tabela em SQL. O método `insert_many()` é usado para inserir dados na coleção. O método `find()` é usado para consultar dados da coleção, e os dados são buscados usando um loop for. E finalmente, feche a conexão com o banco de dados usando o método `close()`.
from pymongo import MongoClient
# Conectar ao banco de dados
client = MongoClient("mongodb://localhost:27017/")
# Obter uma referência ao banco de dados
db = client["school.db"]
# Obter uma referência à coleção (equivalente a uma tabela em SQL)
collection = db["employees"]
# Inserir dados na coleção
employee1 = { "name": "Joseph", "salary": 70000, "department": "IT" }
employee2 = { "name": "Jane", "salary": 80000, "department": "Marketing" }
collection.insert_many([employee1, employee2])
# Consultar dados da coleção
employees = collection.find()
# Imprimir os dados
for employee in employees:
print(employee)
# Fechar a conexão
client.close()
Conclusão
Em conclusão, o Python oferece vários módulos para interagir com diferentes bancos de dados, como MySQL e MongoDB. O módulo MySQLdb é usado para interagir com um banco de dados MySQL, e o módulo pymongo é usado para interagir com um banco de dados MongoDB. Ambos os módulos facilitam para os desenvolvedores realizar operações comuns de banco de dados, como criar tabelas, inserir dados, consultar dados e muito mais. Com a simplicidade e facilidade de uso do Python, tornou-se uma escolha popular para o desenvolvimento de aplicativos orientados a banco de dados. Se você é um iniciante ou um desenvolvedor experiente, o uso desses módulos tornará o trabalho com bancos de dados no Python uma brisa.
Source:
https://dzone.com/articles/an-overview-of-creating-databases-with-python-2