28.06.2017 Views

Python para todos

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Python</strong> <strong>para</strong> <strong>todos</strong><br />

bbdd.rollback()<br />

Si la base de datos no soporta rollback llamar a este método producirá<br />

una excepción.<br />

Veamos ahora un ejemplo completo de uso:<br />

import sqlite3 as dbapi<br />

bbdd = dbapi.connect(“bbdd.dat”)<br />

cursor = bbdd.cursor()<br />

cursor.execute(“””create table empleados (dni text,<br />

nombre text,<br />

departamento text)”””)<br />

cursor.execute(“””insert into empleados<br />

values (‘12345678-A’, ‘Manuel Gil’, ‘Contabilidad’)”””)<br />

bbdd.commit()<br />

cursor.execute(“””select * from empleados<br />

where departamento=’Contabilidad’”””)<br />

for tupla in cursor.fetchall():<br />

print tupla<br />

Como vemos, <strong>para</strong> realizar consultas a la base de datos también se<br />

utiliza execute. Para consultar las tuplas resultantes de la sentencia<br />

SQL se puede llamar a los mé<strong>todos</strong> de Cursor fetchone, fetchmany o<br />

fetchall o usar el objeto Cursor como un iterador.<br />

cursor.execute(“””select * from empleados<br />

where departamento=’Contabilidad’”””)<br />

for resultado in cursor:<br />

print tupla<br />

El método fetchone devuelve la siguiente tupla del conjunto resultado<br />

o None cuando no existen más tuplas, fetchmany devuelve el número de<br />

tuplas indicado por el entero pasado como parámetro o bien el número<br />

indicado por el atributo Cursor.arraysize si no se pasa ningún<br />

parámetro (Cursor.arraysize vale 1 por defecto) y fetchall devuelve<br />

un objeto iterable con todas las tuplas.<br />

122

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!