diff --git a/exercicios/para-casa/ExercicioCasa/atualizando_dados.py b/exercicios/para-casa/ExercicioCasa/atualizando_dados.py new file mode 100644 index 0000000..ac74ab7 --- /dev/null +++ b/exercicios/para-casa/ExercicioCasa/atualizando_dados.py @@ -0,0 +1,16 @@ +import sqlite3 + +conn = sqlite3.connect('livraria.db') +cursor = conn.cursor() + +titulo = input("titulo:") +autor = input("autor:") +ano = input("ano:") +preco = input("preco:") +id = input("id:") + +cursor.execute("UPDATE livros SET titulo = ?, autor = ?, ano = ?, preco = ? WHERE id = ?", (titulo, autor, ano, preco, id)) + +conn.commit() +cursor.close() +conn.close() \ No newline at end of file diff --git a/exercicios/para-casa/ExercicioCasa/consulta_script.py b/exercicios/para-casa/ExercicioCasa/consulta_script.py new file mode 100644 index 0000000..36fc9da --- /dev/null +++ b/exercicios/para-casa/ExercicioCasa/consulta_script.py @@ -0,0 +1,15 @@ +import sqlite3 + +conn = sqlite3.connect('livraria.db') +cursor = conn.cursor() + +titulo = input("digite o título de um livro: ") + +cursor.execute(f"SELECT titulo FROM livros WHERE titulo = ? ", (titulo,)) +registros = cursor.fetchall() + +for registro in registros: + print(registro) + +cursor.close() +conn.close() \ No newline at end of file diff --git a/exercicios/para-casa/ExercicioCasa/exportados_livros.csv b/exercicios/para-casa/ExercicioCasa/exportados_livros.csv new file mode 100644 index 0000000..3d04de2 --- /dev/null +++ b/exercicios/para-casa/ExercicioCasa/exportados_livros.csv @@ -0,0 +1,6 @@ +id,titulo,autor,ano,preco +1,A,João,2020,25.99 +2,B,Maria,2019,19.99 +3,C,José,2018,29.99 +4,E,Marcelie,2022,22.99 +5,D,Marcel,2021,15.99 diff --git a/exercicios/para-casa/ExercicioCasa/exportados_livros.py b/exercicios/para-casa/ExercicioCasa/exportados_livros.py new file mode 100644 index 0000000..40288bd --- /dev/null +++ b/exercicios/para-casa/ExercicioCasa/exportados_livros.py @@ -0,0 +1,16 @@ +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() \ No newline at end of file diff --git a/exercicios/para-casa/ExercicioCasa/livraria.db b/exercicios/para-casa/ExercicioCasa/livraria.db new file mode 100644 index 0000000..b594771 Binary files /dev/null and b/exercicios/para-casa/ExercicioCasa/livraria.db differ diff --git a/exercicios/para-casa/ExercicioCasa/livros.csv b/exercicios/para-casa/ExercicioCasa/livros.csv new file mode 100644 index 0000000..81cd715 --- /dev/null +++ b/exercicios/para-casa/ExercicioCasa/livros.csv @@ -0,0 +1,6 @@ +id, titulo, autor, ano, preco +1, A, João, 2020, 25.99 +2, B, Maria, 2019, 19.99 +3, C, José, 2018, 29.99 +4, E, Marcelie, 2022, 22.99 +5, D, Marcel, 2021, 15.99 \ No newline at end of file diff --git a/exercicios/para-casa/ExercicioCasa/removendo_dados.py b/exercicios/para-casa/ExercicioCasa/removendo_dados.py new file mode 100644 index 0000000..f12d1d3 --- /dev/null +++ b/exercicios/para-casa/ExercicioCasa/removendo_dados.py @@ -0,0 +1,12 @@ +import sqlite3 + +conn = sqlite3.connect('livraria.db') +cursor = conn.cursor() + +titulo = 'D' + +cursor.execute("DELETE FROM livros WHERE titulo = ?", (titulo,)) + +conn.commit() +cursor.close() +conn.close() \ No newline at end of file diff --git a/exercicios/para-casa/ExercicioCasa/script.py b/exercicios/para-casa/ExercicioCasa/script.py new file mode 100644 index 0000000..26e6bf4 --- /dev/null +++ b/exercicios/para-casa/ExercicioCasa/script.py @@ -0,0 +1,44 @@ +import sqlite3 +import csv + + +#conexão +conn = sqlite3.connect("livraria.db") +#colocar os comandos sql +cursor = conn.cursor() + +#colocar os comandos SQL +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 +) + +""") + +# commit a informação +conn.commit() + +# fechar a conexão +cursor.close() +conn.close() + + + + +''' + +Crie um banco de dados SQLite chamado `livraria.db`. + - Crie uma tabela chamada `livros` com as colunas: + - `id` (INTEGER, chave primária, autoincremento) + - `titulo` (TEXT) + - `autor` (TEXT) + - `ano` (INTEGER) + - `preco` (REAL) + + + +''' \ No newline at end of file diff --git a/exercicios/para-casa/ExercicioCasa/script1.py b/exercicios/para-casa/ExercicioCasa/script1.py new file mode 100644 index 0000000..587299f --- /dev/null +++ b/exercicios/para-casa/ExercicioCasa/script1.py @@ -0,0 +1,19 @@ +import sqlite3 + +conn = sqlite3.connect('livraria.db') +cursor = conn.cursor() + +livros = [ + ('A', 'João', 2020, 25.99), + ('B','Maria', 2019, 19.99), + ('C', 'José', 2018, 29.99), + ('E', 'Marcelie', 2022, 22.99), + ('D', 'Marcel', 2021, 15.99) +] + +cursor.executemany("INSERT INTO livros (titulo, autor, ano, preco) VALUES (?, ?, ?, ?)", livros) + +conn.commit() +cursor.close() +conn.close() + diff --git a/exercicios/para-casa/ExercicioCasa/script3.py b/exercicios/para-casa/ExercicioCasa/script3.py new file mode 100644 index 0000000..1fadd5b --- /dev/null +++ b/exercicios/para-casa/ExercicioCasa/script3.py @@ -0,0 +1,6 @@ +import csv + +with open('livros.csv', newline='', encoding='utf-8') as csvfile: + leitor = csv.reader(csvfile) + for linha in leitor: + print(linha) \ No newline at end of file diff --git a/exercicios/para-casa/execute-sql.py b/exercicios/para-casa/execute-sql.py new file mode 100644 index 0000000..2330f1e --- /dev/null +++ b/exercicios/para-casa/execute-sql.py @@ -0,0 +1,4 @@ +import sqlite3 + +def creaye_sql(nome_tabela, dados): + resposta = cursor.execute \ No newline at end of file diff --git a/exercicios/para-sala/csv/ExportacaoSqliteCsv.py b/exercicios/para-sala/csv/ExportacaoSqliteCsv.py new file mode 100644 index 0000000..3ffd402 --- /dev/null +++ b/exercicios/para-sala/csv/ExportacaoSqliteCsv.py @@ -0,0 +1,16 @@ +import sqlite3 +import csv + +conn = sqlite3.connect('empresa.db') +cursor = conn.cursor() + +cursor.execute("SELECT * FROM clientes") +dados = cursor.fetchall() + +with open('exportados_clientes.csv', 'w', newline='', encoding='utf-8') as csvfile: + escritor = csv.writer(csvfile) + escritor.writerow(['id', 'nome', 'email']) + escritor.writerows(dados) + +cursor.close() +conn.close() \ No newline at end of file diff --git a/exercicios/para-sala/csv/ImportacaoCsvSqlite.py b/exercicios/para-sala/csv/ImportacaoCsvSqlite.py new file mode 100644 index 0000000..fcbb7a8 --- /dev/null +++ b/exercicios/para-sala/csv/ImportacaoCsvSqlite.py @@ -0,0 +1,23 @@ +import sqlite3 +import csv + +conn = sqlite3.connect('empresa.db') +cursor = conn.cursor() + +cursor.execute(""" +CREATE TABLE IF NOT EXISTS clientes ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + nome TEXT NOT NULL, + email TEXT NOT NULL +) +""") + +with open('clientes.csv', newline='', encoding='utf-8') as csvfile: + leitor = csv.reader(csvfile) + next(leitor) # pular o cabeçalho + for linha in leitor: + cursor.execute("INSERT INTO clientes (nome, email) VALUES (?, ?)", (linha[1], linha[2])) + + conn.commit() + cursor.close() + conn.close() \ No newline at end of file diff --git a/exercicios/para-sala/csv/LeituraCsv.py b/exercicios/para-sala/csv/LeituraCsv.py new file mode 100644 index 0000000..943b5e2 --- /dev/null +++ b/exercicios/para-sala/csv/LeituraCsv.py @@ -0,0 +1,6 @@ +import csv + +with open('produtos.csv', newline='', encoding='utf-8') as csvfile: + leitor = csv.reader(csvfile) + for linha in leitor: + print(linha) \ No newline at end of file diff --git a/exercicios/para-sala/clientes.csv b/exercicios/para-sala/csv/clientes.csv similarity index 100% rename from exercicios/para-sala/clientes.csv rename to exercicios/para-sala/csv/clientes.csv diff --git a/exercicios/para-sala/csv/empresa.db b/exercicios/para-sala/csv/empresa.db new file mode 100644 index 0000000..5fbaa3f Binary files /dev/null and b/exercicios/para-sala/csv/empresa.db differ diff --git a/exercicios/para-sala/funcionarios.csv b/exercicios/para-sala/csv/funcionarios.csv similarity index 100% rename from exercicios/para-sala/funcionarios.csv rename to exercicios/para-sala/csv/funcionarios.csv diff --git a/exercicios/para-sala/produtos.csv b/exercicios/para-sala/csv/produtos.csv similarity index 100% rename from exercicios/para-sala/produtos.csv rename to exercicios/para-sala/csv/produtos.csv diff --git a/exercicios/para-sala/execicio/1CriandoBancoDados.py b/exercicios/para-sala/execicio/1CriandoBancoDados.py new file mode 100644 index 0000000..d733377 --- /dev/null +++ b/exercicios/para-sala/execicio/1CriandoBancoDados.py @@ -0,0 +1,24 @@ +import sqlite3 + +#conexão +conn = sqlite3.connect("escola.db") +#colocar os comandos sql +cursor = conn.cursor() + +#colocar os comandos SQL +cursor.execute(""" +CREATE TABLE IF NOT EXISTS estudantes ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + nome TEXT NOT NULL, + idade INTEGER NOT NULL +) + +""") + + +# commit a informação +conn.commit() + +# fechar a conexão +cursor.close() +conn.close() diff --git a/exercicios/para-sala/execicio/2InsercaoDados.py b/exercicios/para-sala/execicio/2InsercaoDados.py new file mode 100644 index 0000000..4392052 --- /dev/null +++ b/exercicios/para-sala/execicio/2InsercaoDados.py @@ -0,0 +1,19 @@ +import sqlite3 + +conn = sqlite3.connect('escola.db') +cursor = conn.cursor() + +estudantes = [ + ('Alice', 21), + ('Bob', 22), + ('Charlie', 23), + ('Marcelie', 26), + ('Bob', 27) +] + +cursor.executemany("INSERT INTO estudantes (nome, idade) VALUES (?, ?)", estudantes) + +conn.commit() +cursor.close() +conn.close() + diff --git a/exercicios/para-sala/execicio/3ConsultaDados.py b/exercicios/para-sala/execicio/3ConsultaDados.py new file mode 100644 index 0000000..5b562a4 --- /dev/null +++ b/exercicios/para-sala/execicio/3ConsultaDados.py @@ -0,0 +1,15 @@ +import sqlite3 + +conn = sqlite3.connect('escola.db') +cursor = conn.cursor() + +nome = input("digite o nome: ") + +cursor.execute(f"SELECT nome FROM estudantes WHERE nome = ? ", (nome,)) +registros = cursor.fetchall() + +for registro in registros: + print(registro) + +cursor.close() +conn.close() \ No newline at end of file diff --git a/exercicios/para-sala/execicio/4AtualizandoDados.py b/exercicios/para-sala/execicio/4AtualizandoDados.py new file mode 100644 index 0000000..ece3006 --- /dev/null +++ b/exercicios/para-sala/execicio/4AtualizandoDados.py @@ -0,0 +1,14 @@ +import sqlite3 + +conn = sqlite3.connect('escola.db') +cursor = conn.cursor() + +nome = input("nome:") +idade = input("idade:") +id = input("id:") + +cursor.execute("UPDATE estudantes SET idade = ?, nome = ? WHERE id = ?", (idade, nome, id)) + +conn.commit() +cursor.close() +conn.close() \ No newline at end of file diff --git a/exercicios/para-sala/execicio/5RemocaoDados.py b/exercicios/para-sala/execicio/5RemocaoDados.py new file mode 100644 index 0000000..32c0af1 --- /dev/null +++ b/exercicios/para-sala/execicio/5RemocaoDados.py @@ -0,0 +1,12 @@ +import sqlite3 + +conn = sqlite3.connect('escola.db') +cursor = conn.cursor() + +nome = 'Charlie' + +cursor.execute("DELETE FROM estudantes WHERE nome = ?", (nome,)) + +conn.commit() +cursor.close() +conn.close() \ No newline at end of file diff --git a/exercicios/para-sala/execicio/escola.db b/exercicios/para-sala/execicio/escola.db new file mode 100644 index 0000000..fffaf6d Binary files /dev/null and b/exercicios/para-sala/execicio/escola.db differ diff --git a/exercicios/para-sala/exemplo/exemplo.db b/exercicios/para-sala/exemplo/exemplo.db new file mode 100644 index 0000000..03b4a86 Binary files /dev/null and b/exercicios/para-sala/exemplo/exemplo.db differ diff --git a/exercicios/para-sala/exemplo/script.py b/exercicios/para-sala/exemplo/script.py new file mode 100644 index 0000000..f277258 --- /dev/null +++ b/exercicios/para-sala/exemplo/script.py @@ -0,0 +1,32 @@ +import sqlite3 + +conn = sqlite3.connect("exemplo.db") # conect, se o arquivo não existir, ele cria e conecta. +cursor = conn.cursor() # criando o cursor +cursor.execute(""" + CREATE TABLE IF NOT EXISTS usuarios ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + nome TEXT NOT NULL, + idade INTEGER NOT NULL + ) + +""") + +""" + # (IF NOT EXISTS usuarios ) se não existir, cria. + +NOT NULL - o campo nome e o campo idade, tem que ter informação, nõ aceita nulo + + +""" + +cursor.execute("INSERT INTO usuarios (nome, idade) VALUES ('joao', 43)") +cursor.execute("INSERT INTO usuarios (nome, idade) VALUES ('kiko', 89)") + +cursor.execute("SELECT * FROM usuarios") +registros = cursor.fetchall() + +for registro in registros: + print(registro) + +conn.commit() #executa +conn.close() #fecha o que abrimos \ No newline at end of file diff --git a/extra/ex-join.py b/extra/ex-join.py new file mode 100644 index 0000000..97425e8 --- /dev/null +++ b/extra/ex-join.py @@ -0,0 +1,10 @@ +import sqlite3 +conn = sqlite3.Connection("empresa.db") +cursor = conn.cursor() + +cursor.execute(""" +SELECCT clientes.nome, pedidos.produto, pedidos.quantidade +FROM clientes +INNER JOIN pedidos ON clientes.id = pedidos.cliente_id; +""") +print(cursor.fetchall()) \ No newline at end of file diff --git a/extra/extra.py b/extra/extra.py new file mode 100644 index 0000000..f8c8465 --- /dev/null +++ b/extra/extra.py @@ -0,0 +1,15 @@ +import sqlite3 + +"""CREATE TABLE vendas ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + produto TEXT NOT NULL, + quantidade INTEGER NOT NULL, + preco REAL NOT NULL +); + +INSERT INTO vendas (produto, quantidade, preco) VALUES +('Produto A', 10, 5.0), +('Produto B', 5, 10.0), +('Produto C', 2, 20.0), +('Produto A', 3, 5.0), +('Produto B', 7, 10.0);"""