Tutorial de MariaDB: aprenda sintaxis y comandos con ejemplos

¿Qué es MariaDB?

MariaDB es una bifurcación del sistema de gestión de bases de datos MySQL. 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 potentes incorporadas y muchas mejoras de usabilidad, seguridad y rendimiento que no puede encontrar en MySQL.

Estas son las características de MariaDB:

  • Opera bajo licencias GPL, BSD o LGPL.
  • MariaDB admite un lenguaje de consulta estándar y popular.
  • 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 es compatible con PHP, un lenguaje popular para el desarrollo web.
  • MariaDB puede ejecutarse en diferentes sistemas operativos y es compatible con 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 frente a MySQL

A continuación se presentan algunas diferencias clave entre MariaDB frente a 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 exhibe 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 en un 24% que en el MySQL estándar. El motor de almacenamiento de memoria de MySQL es más lento en comparación con 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 En 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 el MySQL tradicional. La edición comunitaria de MySQL permite conectar una cantidad estática de subprocesos. El plan empresarial de MySQL viene con capacidades de subprocesos.
Nuevas funciones/extensiones MariaDB viene con nuevas funciones y extensiones que incluyen declaraciones JSON, CON y KILL. Las nuevas funciones de MariaDB no se proporcionan en MySQL.
Características perdidas MariaDB carece de algunas de las características proporcionadas por la edición empresarial MySQL. Para solucionar esto, ofrece complementos alternativos de código abierto. Por lo tanto, los usuarios de MariaDB pueden disfrutar de las mismas funcionalidades que los usuarios de MySQL Enterprise Edition. La Enterprise Edition de MySQL utiliza un código propietario. Sólo los usuarios de MySQL Enterprise Edition tienen acceso a esto.

Cómo instalar MariaDB

Instalar como una aplicación independiente

Para utilizar MariaDB, debes instalarlo en tu computadora.

La instalación se puede realizar siguiendowing 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) Haga doble 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) Elija el servidor MariaDB
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. Ingrese la contraseña y confírmela volviendo a escribir la misma contraseña. Si desea permitir el acceso desde máquinas remotas, active el check necesariobox.
  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
Una barra de progresowing Se mostrará 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 iniciarlo y comenzar a usarlo. Esto se puede hacer a través del símbolo del sistema MariaDB.

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 símbolo del sistema MariaDB.

Símbolo del sistema MariaDB

Paso 3) Se iniciará el símbolo del sistema MariaDB. 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 MariaDB. Escribe lo siguientewing 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:

Símbolo del sistema MariaDB

Ahora ha iniciado sesión en MariaDB.

Tipos de datos

MariaDB apoya el siguientewing 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 el siguientewing:

Tipos de datos numéricos Descripción
poco 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 coma 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.
Tiempo 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 el siguientewing:

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 usar el comando CREATE DATABASE que toma lo siguientewing sintaxis:

CREATE DATABASE DatabaseName;

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

Inicie el símbolo del sistema MariaDB e inicie sesión como usuario root escribiendo lo siguientewing mando:

mysql -u root -p

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

Ahora, ejecuta el siguientewing mando:

CREATE DATABASE Demo;

Crear una base de datos y tablas en MariaDB

Luego ha creado una base de datos llamada Demo. Será bueno que confirmes si la base de datos se creó correctamente o no. Sólo tienes que mostrar la lista de las bases de datos disponibles ejecutando el siguientewing mando:

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.

Base de datos selecta MariaDB

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;

Necesita utilizar la base de datos de demostración. Puedes seleccionarlo ejecutando el siguientewing mando:

USE Demo;

Crear una base de datos y tablas en MariaDB

La imagen de arriba muestra que el símbolo del sistema MariaDB 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 tabla

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 Libro con dos columnas, identificación y nombre. Ejecute el siguientewing mando:

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.

Showing Mesas

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 comandowing mando:

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.

Showing Estructura de tabla

Para ver la estructura de cualquier tabla en particular, puede utilizar el comando DESCRIBE, comúnmente abreviado como DESC. se necesita lo siguientewing sintaxis:

DESC TableName;

Por ejemplo, para ver la estructura de la tabla denominada Libro, puede ejecutar lo siguientewing mando;

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 lo siguientewing mando:

DESC Price;

Crear una base de datos y tablas en MariaDB

CRUD y Cláusulas

INSERT

Para insertar datos en una tabla MariaDB, 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.

SELECCIONAR

La declaración SELECT nos ayuda a visualizar o ver el contenido de una tabla de base de datos. Para ver el contenido de la tabla Libro, por ejemplo, debe ejecutar lo siguientewing mando:

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 que podamos insertar varios registros en una tabla MariaDB de una vez. Para demostrar esto, ejecute lo siguientewing 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:

Considere la tabla denominada Precio con el siguientewing 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 Reservar con el siguientewing registros:

CRUD y Cláusulas-ACTUALIZACIÓN

Cambiemos el nombre del libro llamado Libro a MariaDB Libro1. 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.

Usemos la tabla de precios con el siguientewing 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 el precio a 6. Ejecute lo siguientewing mando:

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 el siguientewing 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 declaraciones como INSERTAR, SELECCIONAR, ACTUALIZAR y ELIMINAR. Considere la tabla de precios con el siguientewing datos:

CRUD y Cláusulas-Dónde

Supongamos que necesitamos ver los registros en los que el precio es inferior a 250. Podemos ejecutar lo siguientewing mando:

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 declaración AND. Supongamos que necesitamos ver todos los registros en la tabla de precios donde el precio está por debajo de 250 y la identificación es superior a 3. Podemos ejecutar lo siguientewing mando:

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.

Me gusta

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 %. Usemos la tabla Libro con el siguientewing registros:

CRUD y Cláusulas-Dónde

Necesitamos ver todos los registros en los que el nombre comienza con M. Podemos ejecutar lo siguientewing mando:

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 en 4, puede ejecutar lo siguientewing mando:

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 de precios con el siguientewing registros:

CRUD y Cláusulas-Dónde

Comprobemos el registro en el que el precio es como 1_0. ejecutamos el siguientewing mando:

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:

Usemos la tabla de precios con el siguientewing 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:

Usaremos la tabla de precios con el siguientewing registros:

CRUD y Cláusulas-Dónde

Ejecute el siguientewing comando contra la mesa:

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, usaremos la tabla de precios con la siguientewing datos:

CRUD y Cláusulas-DISTINCT

Cuando seleccionamos la columna de precio de la tabla, obtenemos lo siguientewing 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.

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 lo siguientewing mando:

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 programa MariaDB 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, debemos seleccionar el nombre del libro y filtrar utilizando la identificación del libro. Podemos crear el siguiente.wing 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, usamos la declaración CREATE FUNCTION. La declaración toma el siguientewing 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 asignará a esta función en 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 a 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 Le dice a MariaDB que esta función usará declaraciones SELECT para leer datos, pero no los modificará.
MODIFICA DATOS SQL Le dice a MariaDB que esta función usará 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 de función MariaDB:

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á el siguientewing:

Función en MariaDB

Una vez que haya terminado con una función, será bueno que la elimine. Esto es fácil ya que sólo tiene que llamar a la instrucción DROP FUNCTION que toma lo siguientewing sintaxis:

DROP FUNCTION function_name;

Por ejemplo, para eliminar la función llamada myFunc, podemos ejecutar lo siguientewing mando:

DROP FUNCTION myFunc;

SUSCRÍBETE

Cuando necesite recuperar datos de más de una tabla a la vez, utilice MariaDB JOINS. Esto significa que un SUSCRÍBETE Funciona en dos o más mesas. el siguientewing MariaDB admite tres tipos de UNIONES:

  • 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 mesa del libro tiene el siguientewing datos:

INNER JOIN

La tabla de precios tiene el siguientewing 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 el siguientewing:

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 el siguientewing:

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 el siguientewing:

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.