En este capítulo, usted aprenderá cómo usar SQLite en los programas de Python.
la instalación
SQLite3 se puede integrar con Python usando el módulo sqlite3, que fue escrito por Gerhard Haring. Proporciona una interfaz SQL compatible con la especificación DB-API 2.0 descrita por PEP 249. No es necesario instalar este módulo por separado porque se envía por defecto junto con la versión 2.5 de Python.x en adelante.,
para usar el módulo sqlite3, primero debe crear un objeto de conexión que represente la base de datos y luego, opcionalmente, puede crear un objeto cursor, que le ayudará a ejecutar todas las instrucciones SQL.
API de módulo Python sqlite3
las siguientes son rutinas importantes del módulo sqlite3, que pueden ser suficientes para trabajar con la base de datos SQLite desde su programa Python. Si está buscando una aplicación más sofisticada, puede consultar la documentación oficial del módulo Python sqlite3.
Sr.No., | API & Descripción |
---|---|
1 |
sqlite3.connect(database ) Esta API abre una conexión al archivo de base de datos SQLite. Puede usar»: memory: «para abrir una conexión de base de datos a una base de datos que reside en la RAM en lugar de en el disco. Si la base de datos se abre correctamente, devuelve un objeto de conexión. cuando varias conexiones acceden a una base de datos y uno de los procesos modifica la base de datos, la base de datos SQLite se bloquea hasta que se confirma la transacción., El parámetro timeout especifica cuánto tiempo debe esperar la conexión para que el bloqueo desaparezca hasta que aparezca una excepción. El valor predeterminado para el parámetro timeout es 5.0 (cinco segundos). si el nombre de base de datos dado no existe, esta llamada creará la base de datos. También puede especificar filename con la ruta requerida si desea crear una base de datos en cualquier otro lugar excepto en el directorio actual. |
2 |
conexión.cursor () Esta rutina crea un cursor que se utilizará en toda la programación de su base de datos con Python., Este método acepta un único parámetro opcional cursorClass. Si se suministra, debe ser una clase de cursor personalizada que extienda sqlite3.Cursor. |
3 |
cursor.execute (sql ) Esta rutina ejecuta una instrucción SQL. La instrucción SQL puede ser parametrizada (es decir, marcadores de posición en lugar de literales SQL). El módulo sqlite3 admite dos tipos de marcadores de posición: signos de interrogación y marcadores de posición con nombre (estilo con nombre). Por ejemplo − cursor.ejecutar («insertar en los valores de las personas (?, ?)», (que, por edad)) |
4 |
conexión.,execute (sql ) Esta rutina es un atajo del método execute anterior proporcionado por el objeto cursor y crea un objeto cursor intermedio llamando al método cursor, luego llama al método execute del cursor con los parámetros dados. |
5 |
cursor.executemany (sql, seq_of_parameters) Esta rutina ejecuta un comando SQL contra todas las secuencias de parámetros o asignaciones encontradas en la secuencia sql. |
6 |
conexión.,executemany (sql) Esta rutina es un atajo que crea un objeto cursor intermedio llamando al método cursor, luego llama al cursor.s método executemany con los parámetros dados. |
7 |
cursor.executescript (sql_script) Esta rutina ejecuta varias instrucciones SQL a la vez proporcionadas en forma de script. Primero emite una sentencia de confirmación, luego ejecuta el script SQL que obtiene como parámetro. Todas las sentencias SQL deben estar separadas por un punto y coma (;). |
8 |
conexión.,executescript(sql_script) Esta rutina es un atajo que crea un objeto cursor intermedio llamando al método cursor, luego llama al método executescript del cursor con los parámetros dados. |
9 |
conexión.total_changes () Esta rutina devuelve el número total de filas de la base de datos que se han modificado, insertado o eliminado desde que se abrió la conexión a la base de datos. |
10 |
conexión.commit() Este método confirma la transacción actual., Si no llamas a este método, cualquier cosa que hayas hecho desde la última llamada a commit() no será visible desde otras conexiones de base de datos. |
11 |
conexión.rollback() Este método devuelve cualquier cambio a la base de datos desde la última llamada a commit(). |
12 |
conexión.close () Este método cierra la conexión de la base de datos. Tenga en cuenta que esto no llama automáticamente a commit(). Si cierra su conexión a la base de datos sin llamar primero a commit (), ¡sus cambios se perderán! |
13 |
cursor.,fetchone() Este método obtiene la siguiente fila de un conjunto de resultados de consulta, devolviendo una sola secuencia, O NINGUNA cuando no hay más datos disponibles. |
14 |
cursor.fetchmany() Esta rutina obtiene el siguiente conjunto de filas de un resultado de consulta, devolviendo una lista. Se devuelve una lista vacía cuando no hay más filas disponibles. El método intenta obtener tantas filas como indica el parámetro size. |
15 |
cursor.fetchall() Esta rutina obtiene todas las filas (restantes) del resultado de una consulta, devolviendo una lista., Se devuelve una lista vacía cuando no hay filas disponibles. |
Connect To Database
el siguiente código Python muestra cómo conectarse a una base de datos existente. Si la base de datos no existe, entonces se creará y finalmente se devolverá un objeto de base de datos.
#!/usr/bin/pythonimport sqlite3conn = sqlite3.connect('test.db')print "Opened database successfully";
Aquí, también puede proporcionar nombre de base de datos como el nombre especial: memoria: para crear una base de datos en RAM. Ahora, vamos a ejecutar el programa anterior para crear nuestra prueba de base de datos.db en el directorio actual. Usted puede cambiar su trayectoria según su requisito., Mantenga el código anterior en sqlite.py archivo y ejecutarlo como se muestra a continuación. Si la base de datos se ha creado correctamente, se mostrará el siguiente mensaje.
$chmod +x sqlite.py$./sqlite.pyOpen database successfully
crear una tabla
el siguiente programa Python se utilizará para crear una tabla en la base de datos creada anteriormente.
cuando se ejecuta el programa anterior, creará la tabla COMPANY en su prueba.,db y mostrará los siguientes mensajes –
Opened database successfullyTable created successfully
insertar operación
el siguiente programa Python muestra cómo crear registros en la tabla COMPANY creada en el ejemplo anterior.
cuando se ejecuta el programa anterior, creará los registros dados en la tabla COMPANY y mostrará las siguientes dos líneas:
Opened database successfullyRecords created successfully
SELECT Operation
el siguiente programa Python muestra cómo obtener y mostrar registros de la tabla COMPANY creada en el ejemplo anterior.,
cuando se ejecuta el programa anterior, producirá el siguiente resultado.
operación de actualización
el siguiente código Python muestra cómo usar la instrucción UPDATE para actualizar cualquier registro y, a continuación, obtener y mostrar los registros actualizados de la tabla COMPANY.
cuando se ejecuta el programa anterior, producirá el siguiente resultado.
Opened database successfullyTotal number of rows updated : 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 25000.0ID = 2NAME = AllenADDRESS = TexasSALARY = 15000.0ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0Operation done successfully
operación DELETE
el siguiente código Python muestra cómo usar la instrucción DELETE para eliminar cualquier registro y luego recuperar y mostrar los registros restantes de la tabla COMPANY.,
When the above program is executed, it will produce the following result.
Opened database successfullyTotal number of rows deleted : 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 20000.0ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0Operation done successfully