<filename>NoteBooks/Curso de Python/Python/Data_Managment/Databases/SQLite/database.py
'''

Usaremos el CORE para usar expresiones SQL que difieren un pco de SQL en si.
'''


import sqlalchemy as db



# 1. Conectar con la databel
# Si el archivo no existe crea al base de datos.
engine = db.create_engine('sqlite:///movies.db')

#engine permite tener multiples conexiones a la baase de datos y manejar estas conexines
#crear una conexión es en esta caso un proxy para la verdadera API de python.
connection  = engine.connect()


#Metadata, contiene toda la info sobre la tabla.
metadata = db.MetaData()
#2. Cargar nuestra tabla de peliculas dentro de SQLAlchemy.
movies = db.Table('Movies', metadata, autoload=True ,autoload_with=engine)


# 3. Queires para seleccionar todas las peliculas.
# En SQLAlchemy lo podemos hacer así:
query = db.select([movies])



# Este resultado hace proxu al cursosr
result_proxy= connection.execute(query)
# Para recuperarlo lo podemos hacer asi, esees realmente los datos que tenemos.
result_set = result_proxy.fetchall()
print(result_set[0])
print(result_set[:2])


# FILTRAR
query = db.select([movies]).where(movies.columns.Director=='Alejandro')
result_proxy = connection.execute(query)
result_set = result_proxy.fetchall()
print(result_set[0])


# INSERTAR VALORES
query = movies.insert().values(Title="Psycho", Director="<NAME>", Year ="12234")
connection.execute(query)

query = db.select([movies])
result_proxy = connection.execute(query)
result_set = result_proxy.fetchall() 
print("*"*100)   
print(result_set)







