Reemplazar SQLite

A veces queremos reemplazar la subcadena de una matriz de cadenas cuando administramos una base de datos grande. Tenemos la opción de eliminar el elemento y luego volver a agregarlo usando una propiedad. Sin embargo, usar replace en SQLite es un enfoque más eficiente para lograrlo. La instrucción REPLACE en SQLite se usa para descartar y reinsertar entradas existentes. El comando SQLite REPLACE es un nombre para el comando INSERT O REPLACE INSERT. La declaración REEMPLAZAR en SQLite se basa en la idea de que tan pronto como fallan las restricciones de clave ÚNICA o PRIMARIA, la entrada infractora se elimina y se inserta una nueva fila. En SQLite, el comando REEMPLAZAR normalmente realiza una operación de dos pasos. El primero es eliminar el registro que viola la restricción y el segundo es agregar otra fila. Si, en el segundo paso, se produce una violación de la restricción al insertar una nueva entrada, la transacción se revierte. Con un ejemplo, aprenderemos sobre las declaraciones de reemplazo de SQLite y cómo usarlas para eliminar y volver a insertar entradas existentes.

Contenidos

Sintaxis de la instrucción REEMPLAZAR en SQLite:

La operación de reemplazo de SQLite tiene la siguiente sintaxis. >> REEMPLAZAR (cadena, encontrar SUBCADENA, REEMPLAZAR CON NUEVA cadena) Funciona pasando tres argumentos: la «cadena» que contiene la subcadena a reemplazar. La «subcadena» dentro del texto que se reemplazará, así como la cadena que se «reemplazará» con la nueva cadena.

Para usar la declaración REEMPLAZAR en SQLite:

Aquí veremos algunos ejemplos de operaciones de reemplazo de SQLite y veremos cómo usarlas en SQLite. Tenga en cuenta que el uso de la función de reemplazo distingue entre mayúsculas y minúsculas. En la siguiente figura tenemos una operación REEMPLAZAR simple. Primero necesitamos una declaración SELECT, y luego usamos una función REPLACE a la que le pasamos tres argumentos. El primer argumento es la cadena «jugo de manzana» y el segundo argumento es la «manzana» que queremos reemplazar. Esta «manzana» es una subcadena de la cadena dada y el tercer argumento se pasa con una nueva cadena «naranja» para ser reemplazada por la subcadena «manzana». Los siguientes resultados de la consulta se muestran en la imagen de la siguiente manera: >> SELECT REPLACE(‘jugo de manzana’, ‘manzana’, ‘naranja’);

Tenemos nuestro segundo caso REPLACE, que también acepta tres argumentos. Primero está la cadena «Hamburguesa de pollo», luego tenemos la subcadena «Pizza» que no es la parte de la cadena que definimos. Tenga en cuenta que si el segundo parámetro no se encuentra en el primer argumento, no se cambia nada y se devuelve el texto original. La figura muestra la consulta de la función REEMPLAZAR y los resultados correspondientes. >> SELECCIONA REEMPLAZAR(‘Hamburguesa de pollo’, ‘Pizza’, ‘Pattie’);

Este es nuestro tercer caso donde nuestro segundo argumento es una cadena vacía. Nuevamente, la función REEMPLAZAR no cambia nada, solo devuelve la cadena de origen que especificamos. >> SELECCIONA REEMPLAZAR(‘anillo de diamantes’, », ‘oro’);

Sin embargo, esto no se aplica al tercer argumento. Si esta cadena está vacía y el primer argumento contiene el segundo argumento. El segundo argumento se elimina de la cadena de la siguiente manera: >> SELECT REPLACE(‘luz amarilla’, ‘amarillo’, »);

Si la cadena no contiene nuestro segundo argumento, se devuelve la cadena. >> SELECCIONE REEMPLAZAR(‘Vitamina C’, ‘Hierro’, »);

Ahora aquí estamos reemplazando una cadena con el valor entero que es posible en la función REEMPLAZAR de SQLite. El resultado muestra que la cadena se reemplaza con los valores numéricos. >> SELECCIONA REEMPLAZAR(‘Número de ID’, ‘número’, 8);

Ejemplo 1: Cree una tabla para usar la función REEMPLAZAR:

Hemos creado una tabla representada como «Cremas». Hemos asignado tres columnas a esta tabla y también hemos establecido sus tipos de datos. Como muestra la imagen a continuación, la tabla se ha creado correctamente. CREATE TABLE creams( cream_id INT PRIMARY KEY , cream_name CHAR(10) , cream_price FLOAT );

Luego insertamos los valores para cada columna en la tabla Cremas de la siguiente manera: INSERTAR EN VALORES de cremas (1, ‘helado’, 300); INSERTAR EN VALORES de cremas (2, ‘crema de chocolate’, 600); INSERTAR VALORES EN CREMAS (3, ‘crema de queso’, 560); INSERTAR VALORES EN CREMAS (4, ‘crema de caramelo’, 600); INSERTAR VALORES EN CREMAS (5, ‘crema de nueces’, 450);

Para ver el registro de la tabla, simplemente use la siguiente consulta y el registro de la tabla se mostrará a continuación.

Ejemplo 2: Uso de la función REEMPLAZAR dentro de la instrucción ACTUALIZAR:

Allí tenemos una instrucción UPDATE que aplicamos a la tabla Creams. La declaración de actualización establece los valores de la columna de la tabla «cream_name» llamando al operador SET. Asignamos una función REEMPLAZAR al operador SET y pasamos tres argumentos dentro de la función REEMPLAZAR. El primer argumento es el nombre de la columna «cream_name» en el que queremos un reemplazo. Luego, la cadena «crema» se usa como segundo argumento para el cual se implementa la sustitución. Si la función REEMPLAZAR encuentra la cadena «crema» de la columna «nombre_crema» de la tabla «cremas», debe reemplazarla con la nueva cadena «mayo». La función REEMPLAZAR toma la cadena «mayo» como la tercera entrada. ACTUALIZAR creamsSET cream_name = REPLACE(cream_name,’cream’,’mayo’);

Los cambios se producen con éxito en la siguiente pantalla de resultados.

Ejemplo 3: Uso de la función REEMPLAZAR en el índice único en SQLite:

La columna Cream Name de la tabla Cream se utiliza para generar un índice. Usé la siguiente consulta de SQLite para crear un índice único en el campo Nombre de la crema. >> CREAR ÍNDICE ÚNICO idx_creams_cream_name ON creams(cream_name);

Ahora agreguemos una restricción para agregar el nombre de la crema a la tabla Crema. Si el nombre de la crema ya existe, esta entrada debe actualizarse. De lo contrario, se debe ingresar un nuevo nombre de crema. Agregamos esta función simplemente usando la declaración de reemplazo de SQLite de la siguiente manera. REEMPLAZAR EN cremas (id_crema, nombre_crema, precio_crema) VALORES (6, ‘crema de ajo’, 200);

Debido a que cream_name «Garlic-mayonesa» no existe en la tabla de cremas, la siguiente declaración SQLite REPLACE inserta una nueva fila. Al ejecutar la declaración de selección, el shell de SQLite ejecuta el registro de cremas de tabla con el registro recién insertado.

Conclusión:

Ese es el poder de la función de reemplazo de SQLite para obtener los datos que necesitamos de acuerdo con nuestras especificaciones. Hemos definido la sintaxis de la función REEMPLAZAR que usaremos en SQLite. Luego examinamos algunos otros casos para mostrar cómo responde la función REEMPLAZAR a estos casos. Finalmente, tenemos instancias de la función REEMPLAZAR que usamos en la tabla SQLite.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.