Uma Visão Geral de Criação de Bancos de Dados com Python

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 o 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:

Python

 

import sqlite3

Uma vez instalado o módulo apropriado, você precisa criar uma conexão com o banco de dados, que serve como 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ê se conecta como mostrado no código abaixo:

Python

 

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 as colunas “id”, “username”, salary, department e “email”, você usa o seguinte código:

Python

 

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”:

Python

 

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:

Python

 

cursor.execute("SELECT * FROM employees")
rows = cursor.fetchall()
for row in rows:

    print(row)

Passo 5

Crie views executando uma instrução CREATE VIEW e use o método `execute()` do objeto cursor para executar uma instrução CREATE VIEW.

Python

 

# 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:

Python

 

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.

Python

 

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()`. Então você obtém uma referência ao banco de dados e a coleção equivalente a uma tabela no 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()`.

Python

 

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 no 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, enquanto 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, ele se tornou 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