Python SQLite – Operaciones CRUD

En este artículo, analizaremos la operación CRUD utilizando el módulo SQLite en Python.

Operaciones CRUD

La abreviatura CRUD se expande a Crear, Leer, Actualizar y Eliminar. Estas cuatro son operaciones fundamentales en una base de datos. En la base de datos de ejemplo, la crearemos y haremos algunas operaciones. Analicemos estas operaciones una por una con la ayuda de ejemplos.

CREAR

El comando crear se utiliza para crear la tabla en la base de datos. Primero revisaremos su sintaxis y luego lo entenderemos con un ejemplo.

Sintaxis: CREATE TABLE nombre_tabla ( Attr 1 Tipo 1, Attr 2 Tipo 2, … , Attr n Tipo n ) ;

En este ejemplo, crearemos una tabla llamada «gfg» con tres atributos:

  1. nombre
  2. puntos
  3. precisión

Python

# Python code to create a relation 
# using SQLite3
  
# import the sqlite3 package
import sqlite3  
  
# create a database named backup
cnt = sqlite3.connect("backup.dp")  
  
# create a table named gfg
cnt.execute('''CREATE TABLE gfg(
NAME TEXT,
POINTS INTEGER,
ACCURACY REAL);''')

Producción:

INSERTAR

Esto se refiere a la inserción de nuevos datos en la tabla. Los datos se insertan en forma de tupla. El número de atributos en la tupla debe ser igual al definido en el esquema de relación al crear la tabla.

1. Para insertar atributos en el orden especificado en el esquema de relación:
Sintaxis: INSERT INTO tableName VALUES ( value1, value2, … valuen )
 
2 . Para insertar atributos en el orden especificado en el esquema de relación o en un orden diferente:
INSERT INTO tableName ( Attribute1, Attribute3, Attribute2 . . . ) VALUES ( value1, value3, value2 . . . )

El siguiente programa demuestra la adición de tres tuplas a la relación gfg que se creó anteriormente.

Python3

# Python3 Code to insert data into
# the database
  
# Insert three tuples into the gfg table
# insert in default order
cnt.execute('''INSERT INTO gfg VALUES(
'Count Inversion',20,80.5);''')
  
# insert in different order
cnt.execute('''INSERT INTO gfg(ACCURACY, POINTS, NAME) VALUES(
90.5, 15, 'Kadanes Algo');''')
  
cnt.execute('''INSERT INTO gfg(NAME, ACCURACY, POINTS) VALUES(
'REVERSE STR', 100, 5);''')
  
# commit changes to the database
cnt.commit()

Producción:

LEER

Esto se refiere a la lectura de datos de una base de datos. Una declaración de lectura tiene tres cláusulas:

  1. SELECT: Toma como predicado los atributos a consultar, use * para todos los atributos.
  2. FROM: Toma como predicado una relación.
  3. DONDE: Toma como predicado una condición, esta no es obligatoria.

Después de ejecutar una declaración de lectura en python SQLite3, se devuelve un objeto de cursor iterable. Esto se puede utilizar para imprimir datos.

Ejemplo: SELECCIONE NOMBRE, PUNTOS, PRECISIÓN DESDE gfg DONDE PRECISIÓN>85;

El siguiente programa demuestra el uso de la declaración de lectura.

Python3

# Python3 code to read data from a table
  
print('Name, Points and Accuracy from '
      'records with accuracy greater than 85')
  
cursor = cnt.execute('''SELECT * FROM gfg WHERE ACCURACY>85;''')
  
# print data using the cursor object
for i in cursor:
    print(i[0]+"    "+str(i[1])+"   "+str(i[2]))
  
print('')  # Print new line
  
print('Name, Accuracy from '
      'records with accuracy greater than 85')
  
cursor = cnt.execute('''SELECT NAME, ACCURACY FROM
gfg WHERE ACCURACY>85;''')
  
# print data using the cursor object
for i in cursor:
    print(i[0]+"    "+str(i[1]))

Producción:

ACTUALIZAR

Esto se refiere a la actualización de los valores de tupla ya presentes en la tabla.

Sintaxis: UPDATE tableName SET Atributo 1 = Valor 1 , Atributo2 = Valor2 , . . . DONDE condición;
Se debe incluir la cláusula WHERE, de lo contrario se actualizarán todos los registros de la tabla.

EJEMPLO: ACTUALIZAR gfg ESTABLECER PUNTOS=PUNTOS+5 DONDE PUNTOS<20;

El siguiente programa demuestra el uso de la declaración de actualización.

Python3

# Python3 code to update records in a database
  
# Print records before updation
cursor = cnt.execute('''SELECT * FROM gfg''')
print('Before Updation')
for i in cursor:
    print(i[0]+"    "+str(i[1])+"    "+str(i[2]))
  
print('')  # print a newline
  
# Execute an Update statement
cnt.execute('''UPDATE gfg SET POINTS=POINTS+5 WHERE
POINTS<20;''')
  
cursor = cnt.execute('''SELECT * FROM gfg''')
print('After Updation')
for i in cursor:
    print(i[0]+"    "+str(i[1])+"    "+str(i[2]))

Producción:

ELIMINAR

Esto se refiere a la eliminación de la tupla presente en la tabla.

SINTAXIS: DELETE FROM tableName WHERE condición

Si no se utiliza la cláusula WHERE, se eliminarán todos los registros.

EJEMPLO: ELIMINAR DE gfg DONDE PRECISIÓN>91

El programa a continuación demuestra el uso de la declaración de eliminación.

Python3

# Python3 code to delete records from database
  
# Print records before deletion
cursor = cnt.execute('''SELECT * FROM gfg''')
print('Before Deletion')
for i in cursor:
    print(i[0]+"    "+str(i[1])+"    "+str(i[2]))
  
print('')  # print a newline
  
# Execute a delete statement
cnt.execute('''DELETE FROM gfg WHERE ACCURACY>91;''')
  
cursor = cnt.execute('''SELECT * FROM gfg''')
print('After Deletion')
for i in cursor:
    print(i[0]+"    "+str(i[1])+"    "+str(i[2]))

Producción:

Publicación traducida automáticamente

Artículo escrito por sanatr y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *