1º Criei o "create_hotelplus.py":
import sqlite3
Cria um banco de dados (caso não exista nenhum banco de dados com esse nome ainda) e depois conecta
conn = sqlite3.connect('hotelplus.db')
Para executar comandos no banco de dados vamos precisar de um cursor
cursor = conn.cursor()
Para indicar que o comando é um comando puro de SQL usamos 3 """"
cursor.execute(
"""
CREATE TABLE IF NOT EXISTS usuarios(
id INTEGER PRIMARY KEY,
nome TEXT,
email TEXT
)
"""
)
Para confirmar as alterações
conn.commit()
Fecha o banco de dados
conn.close()
2º Criei o "write_hotelplus.py":
import sqlite3
conn = sqlite3.connect('hotelplus.db')
cursor = conn.cursor()
Inserindo valores na tabela usuarios, valores esses nome e e-mail
INJEÇÃO DE SQL: é quando alguém quer roubar ou inserir dados maliciosos no seu banco dados, o VALUES (?,?) serve para proteger
o banco de dados, (?,?) vai mostrar para onde os dados inseridos vão, uma forma de sanitização das informações
cursor.execute(
"""
INSERT INTO usuarios(nome,email)
VALUES (?,?)
""",
("Diogo", "diogo@gmai.com" )
)
OBS: adicionei o usuário "Rodrigo" e o e-mail "rodrigo@gmai.com" antes
conn.commit()
conn.close()
3º Criei o "read_hotelplus":
import sqlite3
conn = sqlite3.connect('hotelplus.db')
cursor = conn.cursor()
Comando para consultar dados da tabela usuarios
cursor.execute(
"""
SELECT * FROM usuarios
"""
)
Comando para ler as informações dos usuários
usuarios = cursor.fetchall()
for usuario in usuarios:
print(usuario)
### Aqui usuario deve ficar no singular para ler um usuario de cada vez
conn.close()
A resposta do terminal foi:
(1, 'Rodrigo', 'rodrigo@gmai.com')
(2, 'Diogo', 'diogo@gmai.com')