MariaDB Tutorial: aprenda sintaxis y comandos con ejemplos

¿Qué es MariaDB?

MariaDB es una bifurcación del MySQL sistema de administración de base de datos. Es creado por sus desarrolladores originales. Esta herramienta DBMS ofrece capacidades de procesamiento de datos para tareas tanto pequeñas como empresariales.

MariaDB es una versión mejorada de MySQL. Viene con numerosas funciones poderosas incorporadas y muchas mejoras de usabilidad, seguridad y rendimiento que no puede encontrar en MySQL.

Aquí están las características de MariaDB:

  • Opera bajo licencias GPL, BSD o LGPL.
  • MariaDB admite un lenguaje de consulta popular y estándar.
  • Viene con muchos motores de almacenamiento, incluidos los de alto rendimiento que pueden integrarse con otros sistemas de gestión de bases de datos relacionales.
  • Proporciona la tecnología de clúster Galera.
  • MariaDB soporta PHP, un lenguaje popular para el desarrollo web.
  • MariaDB Puede ejecutarse en diferentes sistemas operativos y admite numerosos lenguajes de programación.
  • MariaDB viene con comandos adicionales que no están disponibles en MySQL. MySQL tiene características que tienen un impacto negativo en el rendimiento del DBMS. Estas características han sido reemplazadas en MariaDB.

MariaDB vs MySQL

A continuación se presentan algunas diferencias clave entre MariaDB vs MySQL

Parámetro MariaDB MySQL
Más opciones para motores de almacenamiento MariaDB tiene 12 nuevos motores de almacenamiento que no encontrarás en MySQL. Tiene menos opciones de almacenamiento en comparación con MariaDB.
Mejoras de velocidad MariaDB muestra una velocidad mejorada en comparación con MySQL. Viene con numerosas funciones para optimizar la velocidad. Dichas características incluyen vistas/tablas derivadas, subconsultas, control de ejecución, acceso al disco y control del optimizador. MySQL presenta una velocidad más lenta en comparación con MariaDB. Se basa sólo en unas pocas funciones para optimizar la velocidad, por ejemplo, índices hash.
Caché/índices más rápidos Con el motor de almacenamiento de memoria de MariaDB, una declaración INSERT se puede completar un 24% más que en el estándar MySQL. El motor de almacenamiento de memoria de MySQL es más lento comparado con eso MariaDB.
Grupo de conexiones más grande y más rápido MariaDB viene con un grupo de subprocesos avanzado capaz de ejecutarse más rápido y admitir hasta 200,000+ conexiones. El grupo de subprocesos proporcionado por MySQL no puede admitir hasta 200,000 conexiones por vez.
Replicación mejorada In MariaDB, la replicación se puede realizar de forma más segura y rápida. Las actualizaciones también se pueden realizar 2 veces más rápido en comparación con la versión tradicional. MySQL. MySQLLa edición comunitaria de permite conectar un número estático de hilos. MySQLEl plan empresarial de viene con capacidades de subprocesos.
Nuevas funciones/extensiones MariaDB viene con nuevas características y extensiones que incluyen las declaraciones JSON, CON y KILL. El nuevo MariaDB Las funciones no se proporcionan en MySQL.
Características perdidas MariaDB carece de algunas de las características proporcionadas por el MySQL Edición de Empresa. Para solucionar esto, ofrece complementos alternativos de código abierto. Por eso, MariaDB Los usuarios pueden disfrutar de las mismas funcionalidades que MySQL Usuarios de la edición Enterprise. La edición empresarial de MySQL utiliza un código propietario. Sólo los usuarios de MySQL Enterprise Edition tiene acceso a esto.

Cómo instalar MariaDB

Instalar como una aplicación independiente

Para usar MariaDB, tienes que instalarlo en tu computadora.

La instalación se puede realizar siguiendo los pasos que se indican a continuación:

Paso 1) Abrir debajo de la URL
Descargue el archivo de instalación desde el enlace https://downloads.mariadb.org/

Paso 2) Double haga clic en el archivo para iniciar la instalación
Una vez que se complete la descarga, abra Archivo

Paso 3) Haga clic en el botón Siguiente
En la ventana que aparece, haga clic en el botón Siguiente:

Instalación de MariaDB

Paso 4) Acepta el acuerdo de licencia
Luego haga clic en el botón Siguiente:

Instalación de MariaDB

Paso 5) Elegir MariaDB Server
Elija las funciones que se instalarán y haga clic en Siguiente

Instalación de MariaDB

Paso 6) Introduce la contraseña
En la siguiente ventana, se le pedirá que cambie la contraseña del usuario root.

  1. Introduzca la contraseña y confírmela volviendo a escribir la misma contraseña. Si desea permitir el acceso desde equipos remotos, active la casilla correspondiente.
  2. Una vez hecho esto, haga clic en el botón Siguiente.

Instalación de MariaDB

Paso 7) Ingrese el nombre y elija el número de puerto
En la siguiente ventana, escriba un nombre para la instancia, elija el número de puerto y establezca el tamaño necesario. Haga clic en el botón Siguiente:

Instalación de MariaDB

Paso 8) Haga clic en Siguiente
En la siguiente ventana, simplemente haga clic en el botón Siguiente.

Paso 9) Haga clic en Instalar
Inicie la instalación haciendo clic en el botón Instalar.

Instalación de MariaDB

Paso 10) Se muestra una barra de progreso
Se mostrará una barra de progreso que muestra el progreso de la instalación:

Instalación de MariaDB

Paso 11) Haga clic en el botón Finalizar
Una vez que se complete la instalación, verá el botón Finalizar. Haga clic en el botón para cerrar la ventana:

Instalación de MariaDB

Paso 12) ¡Felicitaciones!
Ahora tienes MariaDB instalado en tu computadora.

Trabajar con el símbolo del sistema

Ahora que tiene MariaDB instalado en su computadora, es hora de que lo inicie y comience a usarlo. Esto se puede hacer a través del MariaDB símbolo del sistema

Sigue los pasos que se detallan a continuación:

Paso 1) Haga clic en Inicio, elija Todos los programas y luego haga clic en MariaDB...

Paso 2) Elija un MariaDB Símbolo del sistema.

MariaDB Símbolo del sistema

Paso 3) La MariaDB Se iniciará el símbolo del sistema. Ahora es el momento de iniciar sesión. Debe iniciar sesión como usuario root y la contraseña que estableció durante la instalación de MariaDBEscriba el siguiente comando en el símbolo del sistema:

MySQL -u root -p

Paso 4) Ingrese la contraseña y presione la tecla de retorno. Deberías iniciar sesión, como se muestra a continuación:

MariaDB Símbolo del sistema

Ya has iniciado sesión MariaDB.

Tipos de datos

MariaDB Admite los siguientes tipos de datos:

  • Tipos de datos de cadena
  • Tipos de datos numéricos
  • Tipos de datos de fecha/hora
  • Tipos de datos de objetos grandes

Tipos de datos de cadena

Estos incluyen lo siguiente:

Tipo de datos String Descripción
carácter (tamaño) El tamaño indica el número de caracteres que se almacenarán. Almacena un máximo de 255 caracteres. Cuerdas de longitud fija.
varchar(tamaño) El tamaño indica el número de caracteres que se almacenarán. Almacena un máximo de 255 caracteres. Cadenas de longitud variable.
tamano del texto) El tamaño indica el número de caracteres que se almacenarán. Almacena un máximo de 255 caracteres. Cuerdas de longitud fija.
binario (tamaño) El tamaño indica el número de caracteres que se almacenarán. Almacena un máximo de 255 caracteres. Cuerdas de tamaño fijo.

Tipos de datos numéricos

Incluyen los siguientes:

Tipos de datos numéricos Descripción
bit Un valor entero muy pequeño equivalente a tinyint(1). Los valores con signo oscilan entre -128 y 127. Los valores sin signo oscilan entre 0 y 255.
entero(m) Un valor entero estándar. Los valores con signo oscilan entre -2147483648 y 2147483647. Los valores sin signo oscilan entre 0 y 4294967295.
flotador(m,d) Un número de punto flotante con precisión simple.
doble(m,d) Un número de punto flotante con doble precisión.
flotador(p) Un número de punto flotante.

Tipos de datos de fecha/hora

Estos incluyen lo siguiente:

Tipo de datos de fecha/hora Descripción
Fecha Se muestra en el formato "aaaa-mm-dd". Los valores oscilan entre "1000-01-01" y "9999-12-31".
Fecha y hora Se muestra en el formato "aaaa-mm-dd hh:mm:ss". Los valores oscilan entre '1000-01-01 00:00:00' y '9999-12-31 23:59:59'.
marca de tiempo (m) Se muestra en el formato "aaaa-mm-dd hh:mm:ss". Los valores oscilan entre '1970-01-01 00:00:01' utc y '2038-01-19 03:14:07' utc.
Hora Se muestra en el formato "hh:mm:ss". Los valores oscilan entre '-838:59:59' y '838:59:59'.

Tipos de datos de objetos grandes (LOB)

Incluyen los siguientes:

Tipo de datos de objeto grande Descripción
pequeñablob Su tamaño máximo es de 255 bytes.
gota (tamaño) Toma 65,535 bytes como tamaño máximo.
gota mediana Su tamaño máximo es de 16,777,215 bytes.
texto largo Se necesitan 4 GB como tamaño máximo.

Crear una base de datos y tablas

Para crear una nueva base de datos en MariaDB, debe tener privilegios especiales que solo se otorgan al usuario root y a los administradores.

Para crear una nueva base de datos, debe utilizar el comando CREATE DATABASE que tiene la siguiente sintaxis:

CREATE DATABASE DatabaseName;

En este caso, necesitas crear una base de datos y darle el nombre Demo.

Iniciar el MariaDB Símbolo del sistema e inicie sesión como usuario root escribiendo el siguiente comando:

mysql -u root -p

Escriba la contraseña de root y presione la tecla de retorno. Estarás conectado.

Ahora, ejecute el siguiente comando:

CREATE DATABASE Demo;

Crear una base de datos y tablas en MariaDB

Luego habrás creado una base de datos llamada Demo. Será bueno que confirmes si la base de datos se creó correctamente o no. Solo tienes que mostrar la lista de bases de datos disponibles ejecutando el siguiente comando:

SHOW DATABASES;

Crear una base de datos y tablas en MariaDB

El resultado anterior muestra que la base de datos de demostración es parte de la lista, por lo que la base de datos se creó correctamente.

MariaDB Seleccionar base de datos

Para poder utilizar o trabajar en una base de datos en particular, debe seleccionarla de la lista de bases de datos disponibles. Después de seleccionar una base de datos, puede realizar tareas como crear tablas dentro de la base de datos.

Para seleccionar una base de datos, debe utilizar el comando USE. Toma la sintaxis que se proporciona a continuación:

USE database_name;

Debes utilizar la base de datos de demostración. Puedes seleccionarla ejecutando el siguiente comando:

USE Demo;

Crear una base de datos y tablas en MariaDB

La imagen de arriba muestra que el MariaDB El símbolo del sistema ha cambiado de ninguno al nombre de la base de datos que se ha seleccionado.

Ahora puede continuar y crear tablas dentro de la base de datos de demostración.

MariaDB - Crear mesa

Para poder crear una tabla, debe haber seleccionado una base de datos. La tabla se puede crear utilizando la instrucción CREATE TABLE. Aquí está la sintaxis del comando:

CREATE TABLE tableName (columnName columnType);

Puede configurar una de las columnas como clave principal. Esta columna no debe permitir valores nulos.

Crearemos dos tablas dentro de la base de datos Demo, las tablas Libro y Precio. Cada tabla tendrá dos columnas.

Comencemos creando la tabla Book con dos columnas, id y name. Ejecute el siguiente comando:

CREATE TABLE Book(  
id INT NOT NULL AUTO_INCREMENT,  
name VARCHAR(100) NOT NULL,  
PRIMARY KEY (id));  

Crear una base de datos y tablas en MariaDB

La restricción PRIMARY KEY se ha utilizado para establecer la columna de identificación como clave principal de la tabla. La propiedad AUTO_INCREMENT incrementará los valores de la columna de identificación en 1 automáticamente para cada nuevo registro insertado en la tabla. Todas las columnas no permitirán valores nulos.

Ahora, crea la segunda tabla, la tabla de Precios:

CREATE TABLE Price(  
id INT NOT NULL AUTO_INCREMENT,  
price float NOT NULL,  
PRIMARY KEY (id));  

Crear una base de datos y tablas en MariaDB

La columna de identificación se ha establecido como clave principal de la tabla.

Mostrando tablas

Ahora que ha creado las dos tablas, será bueno que confirme si las tablas se crearon correctamente o no. Puede mostrar la lista de tablas contenidas en una base de datos ejecutando el siguiente comando:

SHOW TABLES;

Crear una base de datos y tablas en MariaDB

La captura de pantalla anterior muestra que las dos tablas se crearon correctamente dentro de la base de datos de demostración.

Mostrando la estructura de la tabla

Para ver la estructura de una tabla en particular, puede utilizar el comando DESCRIBE, comúnmente abreviado como DESC. Tiene la siguiente sintaxis:

DESC TableName;

Por ejemplo, para ver la estructura de la tabla llamada Libro, puede ejecutar el siguiente comando:

DESC Book;

Crear una base de datos y tablas en MariaDB

La tabla tiene dos columnas. Para ver la estructura de la tabla de precios, puede ejecutar el siguiente comando:

DESC Price;

Crear una base de datos y tablas en MariaDB

CRUD y Cláusulas

INSERT

Para insertar datos en un MariaDB tabla, debe utilizar la instrucción INSERT INTO. Este comando toma la sintaxis que se proporciona a continuación:

INSERT INTO tableName
(column_1, column_2, ... )  
VALUES  
(value1, value2, ... ),  
(value1, value2, ... ),  
...;   

La sintaxis anterior muestra que debe especificar las columnas de la tabla en las que desea insertar datos, así como los datos que necesita insertar.

Insertemos un registro en la tabla Libro:

INSERT INTO book  
(id, name)  
VALUES(1, 'MariaDB Book');  

CRUD y Cláusulas-INSERT

Ha insertado un solo registro en la tabla. Inserte un registro en la tabla Precio:

INSERT INTO price
(id, price)  
VALUES(1, 200);  

CRUD y Cláusulas-INSERT

El registro ha sido creado.

SELECT

La sentencia SELECT nos ayuda a visualizar o ver el contenido de una tabla de la base de datos. Para ver el contenido de la tabla Book, por ejemplo, es necesario ejecutar el siguiente comando:

SELECT * from book;

CRUD y Cláusulas-INSERT

Ahora, vea el contenido de la tabla de precios:

SELECT * from price;

CRUD y Cláusulas-INSERT

Insertar múltiples registros

Es posible para nosotros insertar múltiples registros en un MariaDB Tabla de una sola vez. Para demostrarlo, ejecute el siguiente ejemplo:

INSERT INTO book
(id, name)  
VALUES  
(2,'MariaDB Book2'),  
(3,'MariaDB Book3'),  
(4,'MariaDB Book4'),  
(5,'MariaDB Book5');

Insertar múltiples registros

Puede consultar la tabla para comprobar si los registros se insertaron correctamente:

SELECT * FROM book;

Insertar múltiples registros

Los registros se insertaron exitosamente. Inserte varios registros en la tabla Precio ejecutando este ejemplo:

INSERT INTO price 
(id, price)  
VALUES  
(2, 250),  
(3, 220),  
(4, 190),  
(5, 300); 

Insertar múltiples registros

Confirmemos si los registros se crearon correctamente:

SELECT * FROM price;

Insertar múltiples registros

ACTUALIZAR

El comando ACTUALIZAR nos ayuda a cambiar o modificar los registros que ya han sido insertados en una tabla. Puede combinarlo con la cláusula WHERE para especificar el registro que se actualizará. Aquí está la sintaxis:

UPDATE tableName SET field=newValue, field2=newValue2,...  
[WHERE ...]  

El comando ACTUALIZAR también se puede combinar con cláusulas como SET, WHERE, LIMIT y ORDER BY. Verás esto en breve:

Consideremos la tabla denominada Precio con los siguientes registros:

CRUD y Cláusulas-ACTUALIZACIÓN

Cambiemos el precio del libro con un id de 1 de 200 a 250:

UPDATE price 
SET price = 250
WHERE id = 1;

CRUD y Cláusulas-ACTUALIZACIÓN

El comando se ejecutó exitosamente. Ahora puede consultar la tabla para ver si se produjo el cambio:

CRUD y Cláusulas-ACTUALIZACIÓN

La captura de pantalla anterior muestra que se ha implementado el cambio. Considere la tabla Book con los siguientes registros:

CRUD y Cláusulas-ACTUALIZACIÓN

Cambiemos el nombre del libro llamado Libro a MariaDB Libro 1. Observe que el libro tiene una identificación de 1. Aquí está el comando para esto:

UPDATE book
SET name = “MariaDB Book1”
WHERE id = 1;

CRUD y Cláusulas-ACTUALIZACIÓN

Compruebe si el cambio se ha implementado:

CRUD y Cláusulas-ACTUALIZACIÓN

La captura de pantalla anterior muestra que el cambio se implementó exitosamente.

En los ejemplos anteriores, solo hemos cambiado una columna a la vez. Sin embargo, es posible que cambiemos varias columnas a la vez. Demostremos esto usando un ejemplo.

Utilicemos la tabla de precios con los siguientes datos:

CRUD y Cláusulas-ACTUALIZACIÓN

Cambiemos tanto el id como el precio del libro con un id de 5. Cambiaremos su id a 6 y su precio a 6. Ejecute el siguiente comando:

UPDATE price
SET id = 6,
price = 280
WHERE id = 5;

CRUD y Cláusulas-ACTUALIZACIÓN

Ahora, consulta la tabla para comprobar si el cambio se realizó correctamente:

CRUD y Cláusulas-ACTUALIZACIÓN

El cambio se realizó exitosamente.

Borrar

Usamos el comando DELETE cuando necesitamos eliminar uno o varios registros de una tabla. Aquí está la sintaxis del comando:

DELETE FROM tableName  
[WHERE condition(s)]  
[ORDER BY exp [ ASC | DESC ]]  
[LIMIT numberRows];   

Considere la tabla de precios con los siguientes registros:

CRUD y Cláusulas-DELETE

Necesitamos eliminar el último registro de la tabla. Tiene un id de 6 y un precio de 280. Borremos el registro:

DELETE FROM price
WHERE id = 6;   

CRUD y Cláusulas-DELETE

El comando se ejecutó exitosamente. Consultamos la tabla para confirmar si la eliminación fue exitosa:

CRUD y Cláusulas-DELETE

El resultado muestra que el registro se eliminó correctamente.

Dónde

La cláusula WHERE nos ayuda a especificar la ubicación exacta donde necesitamos realizar un cambio. Se utiliza junto con instrucciones como INSERT, SELECT, UPDATE y DELETE. Considere la tabla Price con los siguientes datos:

CRUD y Cláusulas-Dónde

Supongamos que necesitamos ver los registros en los que el precio es menor a 250. Podemos ejecutar el siguiente comando:

SELECT *   
FROM price 
WHERE price < 250;  

CRUD y Cláusulas-Dónde

Se han devuelto todos los registros en los que el precio es inferior a 250.

La cláusula WHERE se puede combinar con la instrucción AND. Supongamos que necesitamos ver todos los registros de la tabla Price donde el precio es inferior a 250 y el id es superior a 3. Podemos ejecutar el siguiente comando:

SELECT *  
FROM price  
WHERE id > 3  
AND price < 250;   

CRUD y Cláusulas-Dónde

Sólo se ha devuelto un registro. La razón es que tiene que cumplir con todas las condiciones que se han especificado, es decir, id superior a 3 y precio inferior a 250. Si se viola alguna de estas condiciones, el registro no será devuelto.

La cláusula también se puede combinar con el comando OR. Reemplacemos el AND en nuestro comando anterior con OR y veamos el tipo de resultado que recibimos:

SELECT *  
FROM price 
WHERE id > 3  
OR price < 250;   

CRUD y Cláusulas-Dónde

Ahora obtenemos 2 registros en lugar de 1. Esto se debe a que, para que un registro califique, solo tiene que cumplir una de las condiciones especificadas.

Como

Esta cláusula se utiliza para especificar el patrón de datos al acceder a datos de la tabla en los que es necesaria una coincidencia exacta. Se puede combinar con las declaraciones INSERT, UPDATE, SELECT y DELETE.

Debe pasar el patrón de datos que está buscando a la cláusula y devolverá verdadero o falso. Estos son los caracteres comodín que se pueden utilizar junto con la cláusula:

  • %: para hacer coincidir 0 o más caracteres.
  • _: para hacer coincidir un solo carácter.

Aquí está la sintaxis de la cláusula LIKE:

SELECT field_1, field_2,... FROM tableName1, tableName2,...  
WHERE fieldName LIKE condition;

Demostremos cómo utilizar la cláusula con el carácter comodín %. Utilicemos la tabla Book con los siguientes registros:

CRUD y Cláusulas-Dónde

Necesitamos ver todos los registros en los que el nombre comienza con M. Podemos ejecutar el siguiente comando:

SELECT name  
FROM book  
WHERE name LIKE 'M%';  

CRUD y Cláusulas-Dónde

Se han devuelto todos los registros porque sus nombres comienzan con la letra M. Para ver todos los nombres que terminan con 4, puede ejecutar el siguiente comando:

SELECT name  
FROM book  
WHERE name LIKE '%4';  

CRUD y Cláusulas-Dónde

Solo se ha devuelto un nombre porque es el único que cumple la condición.

También podemos rodear el patrón de búsqueda con el comodín:

SELECT name  
FROM book  
WHERE name LIKE '%DB%';  

CRUD y Cláusulas-Dónde

Además del comodín %, la cláusula LIKE se puede utilizar junto con el comodín _. Este es el comodín de guión bajo y solo buscará un carácter.

Trabajemos con la tabla Precios con los siguientes registros:

CRUD y Cláusulas-Dónde

Busquemos el registro cuyo precio sea 1_0. Ejecutamos el siguiente comando:

SELECT *  
FROM price
WHERE price LIKE '1_0';  

CRUD y Cláusulas-Dónde

Nos ha devuelto el registro en el que el precio es 190. También podemos probar con otro patrón:

SELECT *  
FROM price 
WHERE price LIKE '_2_';  

CRUD y Cláusulas-Dónde

Es posible que utilicemos la cláusula LIKE junto con el operador NOT. Esto devolverá todos los registros que no cumplan con el patrón especificado. Por ejemplo:

Utilicemos la tabla de precios con los siguientes registros:

CRUD y Cláusulas-Dónde

Busquemos todos los registros donde el precio no empieza por 2:

SELECT *  
FROM price  
WHERE price NOT LIKE '2%';  

CRUD y Cláusulas-Dónde

Sólo un registro no cumple con el patrón especificado.

Por fin

Esta cláusula nos ayuda a ordenar nuestros registros en orden ascendente o descendente. Lo usamos con la declaración SELECT, como se muestra a continuación:

SELECT expression(s)  
FROM tables  
[WHERE condition(s)]  
ORDER BY exp [ ASC | DESC ];   

Es posible que utilicemos esta cláusula sin agregar la parte ASC o DESC. Por ejemplo:

Utilizaremos la tabla de Precios con los siguientes registros:

CRUD y Cláusulas-Dónde

Ejecute el siguiente comando contra la tabla:

SELECT * FROM price 
WHERE price LIKE '2%.'
ORDER BY price;   

CRUD y Cláusulas-Dónde

En el comando anterior, hemos ordenado por precio. Los registros se han ordenado con los precios en orden ascendente. Eso significa que cuando no especificamos el orden, la clasificación se realiza en orden ascendente de forma predeterminada.

Ejecutemos la cláusula con la opción DESC:

SELECT * FROM price
WHERE price LIKE '2%'  
ORDER BY price DESC;   

CRUD y Cláusulas-Dónde

Los registros se han ordenado con el precio en orden descendente como hemos especificado.

Usemos la cláusula ORDER BY junto con el atributo ASC:

SELECT * FROM price 
WHERE price LIKE '2%.'  
ORDER BY price ASC;   

CRUD y Cláusulas-Dónde

Los registros han sido ordenados pero con los precios en orden ascendente. Esto es similar a cuando usamos la cláusula ORDER BY sin atributos ASC o DESC.

DISTINCT

Esta cláusula nos ayuda a eliminar los duplicados al seleccionar registros de una tabla. Esto significa que nos ayuda a obtener registros únicos. Su sintaxis se proporciona a continuación:

SELECT DISTINCT expression(s)  
FROM tableName  
[WHERE condition(s)];   

Para demostrar esto, utilizaremos la tabla de Precios con los siguientes datos:

CRUD y Cláusulas-DISTINCT

Cuando seleccionamos la columna de precio de la tabla, obtenemos el siguiente resultado:

SELECT price FROM Price;

CRUD y Cláusulas-DISTINCT

Tenemos dos registros con un precio de 250, creando un duplicado. Necesitamos tener sólo registros únicos. Podemos filtrarlos mediante el uso de la cláusula DISTINCT como se muestra a continuación:

SELECT DISTINCT price FROM Price;

CRUD y Cláusulas-DISTINCT

Ahora no tenemos ningún duplicado en el resultado anterior.

Desde

La cláusula FROM utilizada para recuperar datos de una tabla de base de datos. También puede ayudar a la hora de unir mesas. Aquí está la sintaxis del comando:

SELECT columnNames FROM tableName; 

Para ver el contenido de la tabla de libros, ejecute el siguiente comando:

SELECT * FROM price;

CRUD y Cláusulas-De

La cláusula puede ayudarle a recuperar solo una columna de una tabla de base de datos. Por ejemplo:

SELECT price FROM Price;

CRUD y Cláusulas-De

Tareas avanzadas

Procedimiento almacenado

Un procedimiento es un MariaDB programa al que puede pasar parámetros. Un procedimiento no devuelve valores. Para crear un procedimiento, usamos el comando CREAR PROCEDIMIENTO.

Para demostrar cómo crear y llamar a un procedimiento, crearemos un procedimiento llamado myProcedure() que nos ayuda a seleccionar la columna de nombre de la tabla del libro. Aquí está el procedimiento:

DELIMITER $
    CREATE PROCEDURE myProcedure()
        BEGIN
            SELECT name FROM book;
        END;
;

Procedimiento avanzado de tareas almacenadas

El procedimiento ha sido creado. Simplemente hemos incluido la instrucción SELECT dentro de las cláusulas BEGIN y END del procedimiento.

Ahora, podemos llamar al procedimiento por su nombre como se muestra a continuación:

CALL myProcedure();

Procedimiento avanzado de tareas almacenadas

El procedimiento devuelve la columna de nombre de la tabla del libro cuando se llama.

Podemos crear un procedimiento que tome un parámetro. Por ejemplo, necesitamos seleccionar el nombre del libro y filtrar usando el id del libro. Podemos crear el siguiente procedimiento para esto:

DELIMITER $
    CREATE PROCEDURE myProcedure2(book_id int)
        BEGIN
            SELECT name FROM book WHERE id = book_id;
        END;
;

Procedimiento avanzado de tareas almacenadas

Arriba, hemos creado un procedimiento llamado myProcedure2(). Este procedimiento toma un parámetro entero llamado book_id, que es la identificación del libro cuyo nombre necesitamos ver. Para ver el nombre del libro con un id de 3, podemos llamar al procedimiento de la siguiente manera:

CALL myProcedure2(3);

Procedimiento avanzado de tareas almacenadas

Función

A diferencia de los procedimientos, debemos pasar parámetros a funciones y una función debe devolver un valor. Para crear una función en MariaDB, utilizamos la sentencia CREATE FUNCTION. La sentencia tiene la siguiente sintaxis:

CREATE 
[ DEFINER = { CURRENT-USER | username } ] 
FUNCTION function-name [(parameter datatype [, parameter datatype]) ]
RETURNS datatype [LANGUAGE SQL
                        | DETERMINISTIC
                        | NOT DETERMINISTIC
                        | {CONTAINS SQL 
                          | NO SQL
                          | READS SQL DATA
                          | MODIFIES SQL DATA}
                        | SQL SECURITY {DEFINER | INVOKER}
                        | COMMENT 'comment'

BEGIN

   declaration-section

   executable-section

END;

Los parámetros anteriores se describen a continuación:

Parámetro Descripción
cláusula DEFINER Este parámetro es opcional. Si no lo especifica, el definidor se convertirá en el usuario que creó la función. Si es necesario especificar un definidor diferente, incluya la cláusula DEFINER en la que el nombre de usuario será el definidor de la función.
nombre de la función El nombre que se le asignará a esta función en el MariaDB.
parámetro Los parámetros pasados ​​a la función. Durante la creación de la función, todos los parámetros se tratan como EN parámetros (en lugar de los parámetros OUT/INOUT).
tipo_datos_retorno El tipo de datos del valor de retorno de la función.
IDIOMA SQL Afecta la portabilidad pero no la función.
DETERMINISTA La función devolverá un resultado solo cuando se le proporcionen varios parámetros.
NO DETERMINISTA Es posible que la función devuelva un resultado diferente cuando se le proporcionan varios parámetros.
CONTIENE SQL Informa MariaDB que esta función contiene SQL. La base de datos no verificará si esto es cierto.
SIN SQL Esta cláusula no se utiliza y no tiene ningún impacto en su función.
LEE DATOS SQL Informa MariaDB que esta función utilizará declaraciones SELECT para leer datos, pero no los modificará.
MODIFICA DATOS SQL Informa MariaDB que esta función utilizará INSERTAR, ELIMINAR, ACTUALIZAR y otras DDL declaraciones para modificar datos SQL.
sección de declaración Aquí es donde se deben declarar las variables locales.
sección ejecutable El código de función debe agregarse aquí.

Aquí hay un ejemplo MariaDB función:

DELIMITER //

CREATE FUNCTION sumFunc (x INT )
RETURNS INT DETERMINISTIC

BEGIN

   DECLARE sum INT;
   SET sum = 0;
   label1: WHILE sum <= 3000 DO
   SET sum = sum + x;
   END WHILE label1;
   RETURN sum;
END; //
DELIMITER ;

Función en MariaDB

Luego podemos llamar a la función anterior de la siguiente manera:

select sumFunc(1000);

El comando devolverá lo siguiente:

Función en MariaDB

Una vez que hayas terminado con una función, será bueno que la elimines. Esto es fácil, ya que solo tienes que llamar a la instrucción DROP FUNCTION que tiene la siguiente sintaxis:

DROP FUNCTION function_name;

Por ejemplo, para eliminar la función llamada myFunc, podemos ejecutar el siguiente comando:

DROP FUNCTION myFunc;

ÚNETE

Cuando necesite recuperar datos de más de una tabla a la vez, utilice MariaDB UNIONES. Esto significa que un ÚNETE funciona en dos o más tablas. Los siguientes tres tipos de JOINS son compatibles en MariaDB:

  • UNIÓN INTERNA/SIMPLE
  • UNIÓN EXTERIOR IZQUIERDA/UNIÓN IZQUIERDA
  • UNIÓN EXTERIOR DERECHA/UNIÓN DERECHA

Discutamos uno por uno:

INNER JOIN

La combinación interna devuelve todas las filas de las tablas en las que la condición de combinación es verdadera. Su sintaxis es la siguiente:

SELECT columns  
FROM table-1   
INNER JOIN table-2  
ON table-1.column = table-2.column;  

Por ejemplo:

Usaremos nuestras dos mesas, libros y libro.

La tabla de libros tiene los siguientes datos:

INNER JOIN

La tabla de precios tiene los siguientes datos:

INNER JOIN

El objetivo es unir la columna de nombre de la tabla Libro y la columna de precio de la tabla Precio en una sola tabla. Esto es posible con una unión interna, como se demuestra a continuación:

SELECT book.name, price.price 
FROM book   
INNER JOIN price 
ON book.id = price.id;   

El comando devuelve lo siguiente:

INNER JOIN

IZQUIERDA ÚNICA EXTERNA

Esta combinación devuelve todas las filas de la tabla de la izquierda y solo las filas en las que la condición de combinación es verdadera de la otra tabla. Su sintaxis es la siguiente:

SELECT columns  
FROM table-1  
LEFT [OUTER] JOIN table-2  
ON table-1.column = table-2.column;  

La palabra clave OUTER se ha colocado entre corchetes porque es opcional.

Por ejemplo:

SELECT book.name, price.price 
FROM book   
LEFT JOIN price 
ON book.id = price.id;   

El comando devuelve lo siguiente:

IZQUIERDA ÚNICA EXTERNA

El último registro de la tabla anterior no tiene ningún valor coincidente a la izquierda. Por eso ha sido reemplazado por NULL.

UNIÓN EXTERIOR DERECHA

Esta combinación devuelve todas las filas de la tabla de la derecha y solo las filas en las que la condición de combinación es verdadera de la otra tabla. Su sintaxis es la siguiente:

SELECT columns  
FROM table-1  
RIGHT [OUTER] JOIN table-2  
ON table-1.column = table-2.column;  

La palabra clave OUTER se ha colocado entre corchetes porque es opcional.

Por ejemplo:

SELECT book.name, price.price 
FROM book   
RIGHT JOIN price
ON book.id = price.id;   

El comando devuelve lo siguiente:

UNIÓN EXTERIOR DERECHA

La razón es que todas las filas de la tabla de la derecha coincidieron con las de la otra tabla. Si algunas de las filas no coincidieran, tendríamos NULL en la primera columna.