Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Python</strong> para todos<br />
A lo largo de este capítulo utilizaremos la base de datos SQLite para<br />
los ejemplos, ya que no se necesita instalar y ejecutar un proceso servidor<br />
independiente con el que se comunique el programa, sino que se<br />
trata de una pequeña librería en C que se integra con la aplicación y<br />
que viene incluida con <strong>Python</strong> por defecto desde la versión 2.5. Desde<br />
la misma versión <strong>Python</strong> también incorpora un módulo compatible<br />
con esta base de datos que sigue la especificación de DB API 2.0:<br />
sqlite3, por lo que no necesitaremos ningún tipo de configuración<br />
extra.<br />
Nada impide al lector, no obstante, instalar y utilizar cualquier otra<br />
base de datos, como MySQL, con la cuál podemos trabajar a través<br />
del driver compatible con DB API 2.0 MySQLdb (http://mysql-python.<br />
sourceforge.net/).<br />
Variables globales<br />
Antes de comenzar a trabajar con sqlite3, vamos a consultar algunos<br />
datos interesantes sobre el módulo. <strong>Todos</strong> los drivers compatibles con<br />
DB-API 2.0 deben tener 3 variables globales que los describen. A<br />
saber:<br />
• apilevel: una cadena con la versión de DB API que utiliza. Actualmente<br />
sólo puede tomar como valor “1.0” o “2.0”. Si la variable<br />
no existe se asume que es 1.0.<br />
• threadsafety: se trata de un entero de 0 a 3 que describe lo seguro<br />
que es el módulo para el uso con threads. Si es 0 no se puede compartir<br />
el módulo entre threads sin utilizar algún tipo de mecanismo<br />
de sincronización; si es 1, pueden compartir el módulo pero no<br />
las conexiones; si es 2, módulos y conexiones pero no cursores y,<br />
por último, si es 3, es totalmente thread-safe.<br />
paramstyle: informa sobre la sintaxis a utilizar para insertar valores<br />
•<br />
en la consulta SQL de forma dinámica.<br />
ɣ ɣ qmark: interrogaciones.<br />
ɣ ɣ<br />
ɣ ɣ<br />
sql = “select all from t where valor=?”<br />
numeric<br />
: un número indicando la posición.<br />
sql = “select all from t where valor=:1”<br />
named<br />
: el nombre del valor.<br />
118