Download clase-16-SQL-Python

Document related concepts
no text concepts found
Transcript
E
S
C
U
E
L
A
D
E
C
I
E
N
C
I
A
S
E
M
P
R
E
S
R
I
A
L
E
S
PYTHON & SQL
Paul Leger
http://pleger.cl
Introducción
• Python es un lenguaje de propósito general,
donde es posible desarrollar aplicaciones de
software
• SQL es un DSL para base de datos
• SQLAlchemy es una modulo de Python para
que nos permite usar SQL en Python
SQLAlchemy Sin ORM
• SQLAlchemy es ideal para usar con Object Relational
Mapping
• Por la falta de programación orientada a objeto, no
exigirá ORM en esta versión del cursos
• Usaremos las funciones básicas de SQLAlchemy
Crear Conexión a una BD
• Importando función para conexión:
from sqlalchemy import create_engine
• Creando conexión:
engine = create_engine("sqlite:///baseDato.sqlite", echo=TRUE)
connection = engine.connect()
• Cerrando conexión:
connection.close()
Ejecutando Consultas (1/2)
• Ejecutando consultas no “select”:
connection.execute(Consulta en SQL)
Por ejemplo:
connection.execute(“INSERT INTO Dueno VALUES (3899123,'Sheldon','Cooper’);”)
• Ejecutando consultas:
results = connection.execute(“select * from table”). fetchall()
for tupla in results:
print tupla[0],tupla[1],tupla[2] #o simplemente escribir tupla
Ejecutando Consultas (2/2)
results = connection.execute(“select * from table”). fetchall()
for tupla in results:
for atributo in tupla:
print atributo
Transacciones
transaction = connection.begin()
connection.execute("insert into x (a, b) values (1, 2)")
Si la consulta se ejecuta como es deseado, puedes realizar
transaction.commit()
Y si no se ejecuto, puedes realizar:
transaction.rollback()
E
S
C
U
E
L
A
D
E
C
I
E
N
C
I
A
S
E
M
P
R
E
S
R
I
A
L
E
S
Consultas?