English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
SQLite3 Se puede usar sqlite3 El módulo sqlite se integra con Python. sqlite3 El módulo DB fue escrito por Gerhard Haring. Proporciona una integración con PEP 249 Describe el módulo DB-API 2.0 compatible con el estándar SQL. No necesita instalar este módulo por separado, ya que Python 2.5.x y versiones posteriores vienen con este módulo de forma predeterminada.
Para utilizar sqlite3 Para usar sqlite, primero debe crear un objeto de conexión que represente la base de datos, luego puede optar por crear un objeto de cursor, lo que le ayudará a ejecutar todas las sentencias SQL.
A continuación se presentan los detalles importantes de sqlite3 El programa de módulo puede satisfacer sus necesidades de base de datos SQLite en programas Python. Si necesita más detalles, consulte Python sqlite3 模块的官方文档。
La documentación oficial del módulo. | Número |
---|---|
1 | API & Descripción3sqlite .connect(database [, timeout ,otros argumentos opcionales]) Este API abre una conexión a un archivo de base de datos SQLite database. Puede usar ":memory:" para abrir una conexión a la base de datos en RAM en lugar de en el disco. Si la base de datos se abre con éxito, se devuelve un objeto de conexión. 5Cuando una base de datos es accedida por múltiples conexiones y una de ellas modifica la base de datos, la base de datos SQLite se bloquea hasta que se realice la transacción. El parámetro timeout indica el tiempo de espera de la conexión hasta que se produce una excepción o se desconecta. El valor predeterminado del parámetro timeout es5 .0 ( segundos). |
2 | Si el nombre de la base de datos proporcionado filename no existe, esta llamada creará una base de datos. Si no desea crear una base de datos en el directorio actual, puede especificar un nombre de archivo con ruta, lo que le permitirá crear una base de datos en cualquier lugar. connection.cursor([cursorClass]) Este procedimiento crea uncursor3.Cursor la clase de cursor personalizada. La clase de cursor. Usada en programación de bases de datos en Python. Este método acepta un único parámetro opcional cursorClass. Si se proporciona este parámetro, debe ser una extensión de sqlite |
3 | cursor.execute(sql [, parámetros opcionales]) Este procedimiento ejecuta una sentencia SQL. La sentencia SQL puede ser parametrizada (es decir, usar marcadores de posición en lugar del texto de SQL). sqlite3 El módulo admite dos tipos de marcadores de posición: signos de interrogación y marcadores de posición nombrados (estilo de nombre). Por ejemplo: cursor.execute("insert into people values (?, ?)", (who, age)) |
4 | connection.execute(sql [, parámetros opcionales]) Este procedimiento es una abreviatura de los métodos proporcionados por el objeto cursor (cursor) que se ejecutaron anteriormente, creando un cursor intermedio a través de la llamada al método del cursor y ejecutando el método execute con los parámetros dados. |
5 | cursor.executemany(sql, seq_of_parameters) Este procedimiento ejecuta un comando SQL para todos los parámetros o mapeos en seq_of_parameters. |
6 | connection.executemany(sql[, parameters]) Este procedimiento es una abreviatura de un cursor intermedio creado por el método cursor, luego se llama al método executemany del cursor con los parámetros dados. |
7 | cursor.executescript(sql_script) Este procedimiento ejecuta múltiples instrucciones SQL una vez que recibe el script. Primero ejecuta la instrucción COMMIT, luego ejecuta el script SQL pasado como parámetro. Todas las instrucciones SQL deben estar separadas por puntos y coma ;. |
8 | connection.executescript(sql_script) Este procedimiento es una abreviatura de un cursor intermedio creado por el método cursor, luego se llama al método executescript del cursor con los parámetros dados. |
9 | connection.total_changes() Este procedimiento devuelve el número total de filas modificadas, insertadas o eliminadas desde que se abrió la conexión de base de datos. |
10 | connection.commit() Este método compromete la transacción actual. Si no llama a este método, cualquier acción que haya realizado desde la última llamada a commit() no será visible para otras conexiones de base de datos. |
11 | connection.rollback() Este método revierte los cambios realizados en la base de datos desde la última llamada a commit(). |
12 | connection.close() Este método cierra la conexión de base de datos. Tenga en cuenta que no llama automáticamente a commit(). Si no ha llamado al método commit() anteriormente, cerrar la conexión de base de datos perderá todos los cambios que haya realizado! |
13 | cursor.fetchone() Este método obtiene la siguiente fila del conjunto de resultados de la consulta, y devuelve una secuencia única. Si no hay más datos disponibles, devuelve None. |
14 | cursor.fetchmany([size=cursor.arraysize]) Este método obtiene el siguiente grupo de filas del conjunto de resultados de la consulta, y devuelve una lista. Si no hay más filas disponibles, devuelve una lista vacía. Este método intenta obtener el número máximo de filas especificado por el parámetro size. |
15 | cursor.fetchall() Este procedimiento obtiene todas las filas (restantes) del conjunto de resultados de la consulta, y devuelve una lista. Si no hay más filas disponibles, devuelve una lista vacía. |
El siguiente código de Python muestra cómo conectarse a una base de datos existente. Si la base de datos no existe, se creará, y finalmente se devolverá un objeto de base de datos.
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') print "Se abrió la base de datos con éxito"
Aquí también puede copiar el nombre de la base de datos en un nombre específico :memory:De esta manera, se creará una base de datos en RAM. Ahora, ejecutemos el programa anterior para crear nuestra base de datos en el directorio actual test.dbPuede cambiar la ruta según sea necesario. Guarde el código anterior en el archivo sqlite.py y ejecute como se muestra a continuación. Si se crea la base de datos con éxito, se mostrará el mensaje siguiente:
$chmod +x sqlite.py $./sqlite.py Base de datos abierta con éxito
El siguiente segmento de código de Python se utilizará para crear una tabla en la base de datos creada anteriormente:
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') print "Se abrió la base de datos con éxito" c = conn.cursor() c.execute('''CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL);''') print "Tabla creada con éxito" conn.commit() conn.close()
Cuando se ejecuta el programa anterior, creará el registro dado en test.db Para crear la tabla COMPANY y mostrar el mensaje siguiente:
Se abrió la base de datos con éxito Tabla creada con éxito
El siguiente programa de Python muestra cómo crear registros en la tabla COMPANY creada anteriormente:
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') c = conn.cursor() print "Se abrió la base de datos con éxito" c.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (1, 'Paul', 32, 'California', 20000.00 )") c.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (2, 'Allen', 25, 'Texas', 15000.00 )") c.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )") c.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 )") conn.commit() print "Registros creados con éxito" conn.close()
Cuando se ejecuta el programa anterior, creará el registro dado en la tabla COMPANY y mostrará las siguientes dos líneas:
Se abrió la base de datos con éxito Registros creados con éxito
El siguiente programa de Python muestra cómo obtener y mostrar registros de la tabla COMPANY creada anteriormente:
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') c = conn.cursor() print "Se abrió la base de datos con éxito" cursor = c.execute("SELECT id, name, address, salary from COMPANY") for row in cursor: print "ID = ", row[0] print "NAME = ", row[1] print "ADDRESS = ", row[2] print "SALARY = ", row[3], "\n" print "Operación realizada con éxito" conn.close()
Al ejecutar el programa anterior, se producirán los siguientes resultados:
Se abrió la base de datos con éxito ID = 1 NAME = Paul ADDRESS = California SALARY = 20000.0 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000.0 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000.0 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000.0 Operación realizada con éxito
El siguiente código de Python muestra cómo utilizar la sentencia UPDATE para actualizar cualquier registro y luego obtener y mostrar los registros actualizados de la tabla COMPANY:
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') c = conn.cursor() print "Se abrió la base de datos con éxito" c.execute("UPDATE COMPANY set SALARY = 25000.00 where ID="1) conn.commit() print "Número total de filas actualizadas :", conn.total_changes cursor = conn.execute("SELECT id, name, address, salary from COMPANY") for row in cursor: print "ID = ", row[0] print "NAME = ", row[1] print "ADDRESS = ", row[2] print "SALARY = ", row[3], "\n" print "Operación realizada con éxito" conn.close()
Al ejecutar el programa anterior, se producirán los siguientes resultados:
Se abrió la base de datos con éxito Número total de filas actualizadas : 1 ID = 1 NAME = Paul ADDRESS = California SALARY = 25000.0 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000.0 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000.0 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000.0 Operación realizada con éxito
El siguiente código de Python muestra cómo utilizar la sentencia DELETE para eliminar cualquier registro y luego obtener y mostrar los registros restantes de la tabla COMPANY:
#!/usr/bin/python import sqlite3 conn = sqlite3.connect('test.db') c = conn.cursor() print "Se abrió la base de datos con éxito" c.execute("DELETE from COMPANY where ID="2; conn.commit() print "Número total de filas eliminadas :", conn.total_changes cursor = conn.execute("SELECT id, name, address, salary from COMPANY") for row in cursor: print "ID = ", row[0] print "NAME = ", row[1] print "ADDRESS = ", row[2] print "SALARY = ", row[3], "\n" print "Operación realizada con éxito" conn.close()
Al ejecutar el programa anterior, se producirán los siguientes resultados:
Se abrió la base de datos con éxito Número total de filas eliminadas: 1 ID = 1 NAME = Paul ADDRESS = California SALARY = 20000.0 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000.0 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000.0 Operación realizada con éxito