En este artículo, se analiza la integración de SQLite3 con Python. Aquí discutiremos todas las operaciones CRUD en la base de datos SQLite3 usando Python. CRUD contiene cuatro operaciones principales:
Nota: Esto requiere una comprensión básica de SQL .
Aquí, vamos a conectar SQLite con Python. Python tiene una biblioteca nativa para SQLite3 llamada sqlite3 . Vamos a explicar cómo funciona.
Conexión a la base de datos SQLite
- Para usar SQLite, debemos importar sqlite3 .
import sqlite3
- Luego cree una conexión usando el método connect() y pase el nombre de la base de datos a la que desea acceder si hay un archivo con ese nombre, abrirá ese archivo. De lo contrario, Python creará un archivo con el nombre dado.
sqliteConnection = sqlite3.connect('gfg.db')
- Después de esto, se llama a un objeto cursor para que sea capaz de enviar comandos al SQL.
cursor = sqliteConnection.cursor()
Ejemplo: Conexión a la base de datos SQLite3 usando Python
Python3
import sqlite3 # connecting to the database connection = sqlite3.connect("gfg.db") # cursor crsr = connection.cursor() # print statement will execute if there # are no errors print("Connected to the database") # close the connection connection.close()
Producción:
Connected to the database
Objeto Cursor
Antes de continuar con SQLite3 y Python, analicemos brevemente el objeto cursor .
- El objeto cursor se utiliza para realizar la conexión para ejecutar consultas SQL.
- Actúa como middleware entre la conexión de la base de datos SQLite y la consulta SQL. Se crea después de dar conexión a la base de datos SQLite.
- El cursor es una estructura de control utilizada para recorrer y recuperar los registros de la base de datos.
- Todos los comandos se ejecutarán usando solo el objeto del cursor.
Ejecución de consultas SQLite3: creación de tablas
Después de conectarnos a la base de datos y crear el objeto cursor, veamos cómo ejecutar las consultas.
- Para ejecutar una consulta en la base de datos, cree un objeto y escriba el comando SQL en él con comentarios. Ejemplo:- sql_comm = ”Declaración SQL”
- Y ejecutar el comando es muy fácil. Llame al método del cursor ejecutar() y pase el nombre del comando sql como parámetro en él. Guarde varios comandos como sql_comm y ejecútelos. Después de realizar todas sus actividades, guarde los cambios en el archivo confirmando esos cambios y luego pierda la conexión.
Ejemplo: Creación de tablas SQLite3 usando Python
En este ejemplo, crearemos las tablas SQLite3 usando Python . El comando SQL estándar se utilizará para crear las tablas.
Python
import sqlite3 # connecting to the database connection = sqlite3.connect("gfg.db") # cursor crsr = connection.cursor() # SQL command to create a table in the database sql_command = """CREATE TABLE emp ( staff_number INTEGER PRIMARY KEY, fname VARCHAR(20), lname VARCHAR(30), gender CHAR(1), joining DATE);""" # execute the statement crsr.execute(sql_command) # close the connection connection.close()
Producción:
Insertar en la tabla
Para insertar datos en la tabla, escribiremos nuevamente el comando SQL como una string y usaremos el método execute().
Ejemplo 1: Insertar datos en la tabla SQLite3 usando Python
Python3
# Python code to demonstrate table creation and # insertions with SQL # importing module import sqlite3 # connecting to the database connection = sqlite3.connect("gfg.db") # cursor crsr = connection.cursor() # SQL command to insert the data in the table sql_command = """INSERT INTO emp VALUES (23, "Rishabh",\ "Bansal", "M", "2014-03-28");""" crsr.execute(sql_command) # another SQL command to insert the data in the table sql_command = """INSERT INTO emp VALUES (1, "Bill", "Gates",\ "M", "1980-10-28");""" crsr.execute(sql_command) # To save the changes in the files. Never skip this. # If we skip this, nothing will be saved in the database. connection.commit() # close the connection connection.close()
Producción:
Ejemplo 2: Inserción de entrada de datos por parte del usuario
Python3
# importing module import sqlite3 # connecting to the database connection = sqlite3.connect("gfg.db") # cursor crsr = connection.cursor() # primary key pk = [2, 3, 4, 5, 6] # Enter 5 students first names f_name = ['Nikhil', 'Nisha', 'Abhinav', 'Raju', 'Anshul'] # Enter 5 students last names l_name = ['Aggarwal', 'Rawat', 'Tomar', 'Kumar', 'Aggarwal'] # Enter their gender respectively gender = ['M', 'F', 'M', 'M', 'F'] # Enter their jpining data respectively date = ['2019-08-24', '2020-01-01', '2018-05-14', '2015-02-02', '2018-05-14'] for i in range(5): # This is the q-mark style: crsr.execute('INSERT INTO emp VALUES ({pk[i]}, "{f_name[i]}", "{l_name[i]}", "{gender[i]}", "{date[i]}")') # To save the changes in the files. Never skip this. # If we skip this, nothing will be saved in the database. connection.commit() # close the connection connection.close()
Producción:
Recuperacion de datos
En esta sección, hemos discutido cómo crear una tabla y cómo agregar nuevas filas en la base de datos. Obtener los datos de los registros es tan simple como insertarlos. El método de ejecución utiliza el comando SQL para obtener todos los datos de la tabla usando «Seleccionar * de table_name» y todos los datos de la tabla se pueden recuperar en un objeto en forma de lista de listas.
Ejemplo: lectura de datos de la tabla sqlite3 usando Python
Python
# importing the module import sqlite3 # connect withe the myTable database connection = sqlite3.connect("gfg.db") # cursor object crsr = connection.cursor() # execute the command to fetch all the data from the table emp crsr.execute("SELECT * FROM emp") # store all the fetched data in the ans variable ans = crsr.fetchall() # Since we have already selected all the data entries # using the "SELECT *" SQL command and stored them in # the ans variable, all we need to do now is to print # out the ans variable for i in ans: print(i)
Producción:
Nota: Cabe señalar que el archivo de base de datos que se creará estará en la misma carpeta que el archivo python. Si deseamos cambiar la ruta del archivo, cambie la ruta mientras abre el archivo.
Actualización de datos
Para actualizar los datos en la tabla SQLite3 usaremos la instrucción UPDATE. Podemos actualizar columnas individuales, así como múltiples columnas usando la instrucción UPDATE según nuestro requisito.
UPDATE table_name SET column1 = value1, column2 = value2,… WHERE condition;
En la sintaxis anterior, la declaración SET se usa para establecer nuevos valores en la columna en particular, y la cláusula WHERE se usa para seleccionar las filas para las que se necesitan actualizar las columnas.
Ejemplo: actualizar la tabla SQLite3 usando Python
Python3
# Import module import sqlite3 # Connecting to sqlite conn = sqlite3.connect('gfg.db') # Creating a cursor object using # the cursor() method cursor = conn.cursor() # Updating cursor.execute('''UPDATE emp SET lname = "Jyoti" WHERE fname="Rishabh";''') # Commit your changes in the database conn.commit() # Closing the connection conn.close()
Producción:
Eliminación de datos
Para eliminar los datos de la tabla SQLite3, podemos usar el comando eliminar.
DELETE FROM table_name [WHERE Clause]
Ejemplo: Eliminación de la tabla SQLite3 usando Python
Python3
# Import module import sqlite3 # Connecting to sqlite conn = sqlite3.connect('gfg.db') # Creating a cursor object using # the cursor() method cursor = conn.cursor() # Updating cursor.execute('''DELETE FROM emp WHERE fname="Rishabh";''') # Commit your changes in the database conn.commit() # Closing the connection conn.close()
Producción:
Eliminación de tabla
DROP se utiliza para eliminar toda la base de datos o una tabla. Eliminó ambos registros en la tabla junto con la estructura de la tabla.
Sintaxis:
DROP TABLE TABLE_NAME;
Ejemplo: Suelte la tabla SQLite3 usando Python
Tablas totales en gfg.db antes de soltar
Ahora eliminemos la tabla Student y luego revisemos nuevamente la tabla total en nuestra base de datos.
Python3
# Import module import sqlite3 # Connecting to sqlite conn = sqlite3.connect('gfg.db') # Creating a cursor object using # the cursor() method cursor = conn.cursor() # Updating cursor.execute('''DROP TABLE Student;''') # Commit your changes in the database conn.commit() # Closing the connection conn.close()
Producción:
Nota: Para obtener más información sobre SQLit3 con Python, consulte nuestro Tutorial de Python SQLite3 .
Este artículo es una contribución de Rishabh Bansal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA