Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolução Tainá #14

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions exercicios/para-casa/1-criacao.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import sqlite3

# 1- Criação do Banco de Dados
connection = sqlite3.connect('livraria.db')
cursor = connection.cursor()

# 2- Criar Tabela, o if not exists vai garantir que não seja criada duas vezes a mesma tabela
cursor.execute("""
CREATE TABLE IF NOT EXISTS livros(
id INTEGER PRIMARY KEY AUTOINCREMENT,
titulo TEXT NOT NULL,
autor TEXT NOT NULL,
ano INTEGER NOT NULL,
preco REAL
)
""")



connection.commit() # vai ler as alterações que foram feitas no banco de dados
cursor.close() # objeto que percorre tudo que está no banco de dados
connection.close() # boa prática para sempre garantir o fechamento da coração
25 changes: 25 additions & 0 deletions exercicios/para-casa/2-importar_csv.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import csv
# Crie um arquivo CSV chamado `livros.csv` com as colunas `titulo`, `autor`, `ano`, e `preco`.
# Adicione pelo menos 5 registros no arquivo `livros.csv`.


colunas = ['id', 'titulo', 'autor', 'ano', 'preco'] # Nome das colunas
livros = [
(1, '1984', 'George Orwell', 1949, 28.90),
(2, 'Ninguém é de ninguém', 'Zibia Gasparetto', 2003, 43.00),
(3, 'Um gato entre os pombos', 'Agatha Christie', 1959, 24.70),
(4, 'Manual prático de como se perder a alma', 'Diedra Roiz', 2009, 0.00),
(5, '[10] coisas que eu odeio em você', 'Diedra Roiz', 2006, 24.99),
(6, 'Duas mulheres sozinhas e outros contos', 'Diedra Roiz', 2006, 2.99)
]

with open('./livros.csv', mode='w', newline='', encoding='utf-8') as csvfile:
escritor = csv.writer(csvfile, delimiter= ',')
escritor.writerow(colunas) # Escrever o cabeçalho
escritor.writerows(livros) # Escrever os dados






24 changes: 24 additions & 0 deletions exercicios/para-casa/3-lendo_csv.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Escreva um script Python que leia os dados de `livros.csv` e insira-os na tabela `livros`.
"""
9. **Importação de CSV para SQLite**:
- Crie um script que leia um arquivo CSV chamado `clientes.csv` e insira os dados em uma tabela `clientes` no banco de dados SQLite `empresa.db`. A tabela deve ter as colunas `id`, `nome`, `email`.
"""

import sqlite3
import csv

conn = sqlite3.connect('livraria.db') # cria a conexão com o banco de dados
cursor = conn.cursor() # cria o cursor para andar dentro do db

# 1. verifica se existe livros.csv, 2. cria a ultima linha vazia e encoding formata como um arquivo csv (csvfile)
with open('./livros.csv', newline='', encoding='utf-8') as csvfile:
leitor = csv.reader(csvfile) # armazena tudo lido na variavel leitor
next(leitor) # Pular o cabeçalho para ler somente o conteúdo útil
for linha in leitor: # a partir disso, começa a percorrer cada linha

# aqui ele vai inserir tudo que estiver nas linhas 1 e 2 (menos o cabeçalho) no banco de dados
cursor.execute("INSERT INTO livros (id, titulo, autor, ano, preco) VALUES (?, ?, ?, ?, ?)", (linha[0], linha[1], linha[2], linha[3], linha[4]))

conn.commit() # comenta as alterações
cursor.close() # desliga o cursor
conn.close() # desliga a conexão
13 changes: 13 additions & 0 deletions exercicios/para-casa/4-consultar_exibir.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import sqlite3

conn = sqlite3.connect('livraria.db')
cursor = conn.cursor()

cursor.execute("SELECT * FROM livros")
livros = cursor.fetchall()

for livro in livros:
print(livro)

cursor.close()
conn.close()
20 changes: 20 additions & 0 deletions exercicios/para-casa/5-atualizando_dados.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# - Escreva um script Python que atualize o preço de um livro específico (por exemplo, mude o preço do livro com `id` 1 para 29.99).
import sqlite3

conn = sqlite3.connect("livraria.db")
cursor = conn.cursor()

cursor.execute("""
UPDATE livros SET preco = ?
WHERE id = ?
""", (29.9, 5))


conn.commit()

print('Dados atualizados com sucesso')




conn.close()
16 changes: 16 additions & 0 deletions exercicios/para-casa/6-remocao_dados.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Escreva um script Python que remova um livro específico da tabela (por exemplo, remova o livro com `id` 3).
import sqlite3

conn = sqlite3.connect('livraria.db')
cursor = conn.cursor()

cursor.execute("""
DELETE FROM livros
WHERE id = ?
""", (1,))

conn.commit()
print('Livro removido com sucesso!')


conn.close()
17 changes: 17 additions & 0 deletions exercicios/para-casa/7-exportar_csv.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Escreva um script Python que exporte os dados da tabela `livros` para um novo arquivo CSV chamado `exportados_livros.csv`.
import sqlite3
import csv

conn = sqlite3.connect('livraria.db')
cursor = conn.cursor()

cursor.execute("SELECT * FROM livros")
dados = cursor.fetchall()

with open('exportados_livros.csv', 'w', newline='', encoding='utf-8') as csvfile:
escritor = csv.writer(csvfile)
escritor.writerow(['id', 'titulo', 'autor', 'ano', 'preco'])
escritor.writerows(dados)

cursor.close()
conn.close()
6 changes: 6 additions & 0 deletions exercicios/para-casa/exportados_livros.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
id,titulo,autor,ano,preco
2,Ninguém é de ninguém,Zibia Gasparetto,2003,43.0
3,Um gato entre os pombos,Agatha Christie,1959,24.7
4,Manual prático de como se perder a alma,Diedra Roiz,2009,0.0
5,[10] coisas que eu odeio em você,Diedra Roiz,2006,29.9
6,Duas mulheres sozinhas e outros contos,Diedra Roiz,2006,2.99
Binary file added exercicios/para-casa/livraria.db
Binary file not shown.
7 changes: 7 additions & 0 deletions exercicios/para-casa/livros.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
id,titulo,autor,ano,preco
1,1984,George Orwell,1949,28.9
2,Ninguém é de ninguém,Zibia Gasparetto,2003,43.0
3,Um gato entre os pombos,Agatha Christie,1959,24.7
4,Manual prático de como se perder a alma,Diedra Roiz,2009,0.0
5,[10] coisas que eu odeio em você,Diedra Roiz,2006,24.99
6,Duas mulheres sozinhas e outros contos,Diedra Roiz,2006,2.99