Actualizado el domingo, 17 marzo, 2024
Los datos son la parte más importante de cualquier tipo de aplicación. Los datos necesarios para la aplicación deben almacenarse permanentemente. El servidor de base de datos se utiliza para almacenar los datos de la aplicación de forma permanente. MariaDB es uno de los servidores de bases de datos populares que se llama la rama de un servidor MySQL. Las diferentes características de MariaDB, la forma de instalar MariaDB en Ubuntu, crear bases de datos y tablas, y realizar varios tipos de tareas comunes relacionadas con bases de datos se explican en detalle en este tutorial.
Contenido:
- Conceptos básicos de MariaDB
- Diferencias entre MariaDB y MySQL
- Características importantes de MariaDB
- Instalar MariaDB en Ubuntu
- Crear un usuario con todos los privilegios
- Hacer conexión con MariaDB
- Crear y eliminar base de datos
- Tipos de datos MariaDB
- Crear y eliminar tablas
- Operaciones CRUD
- Uso de cláusulas
- Uso del operador de comparación
- Uso del operador lógico
- Uso de funciones agregadas
Conceptos básicos de MariaDB
Es un servidor de base de datos relacional de código abierto que se puede utilizar con la aplicación sin ningún costo para almacenar datos importantes. Es la versión mejorada del servidor MySQL. Se puede utilizar una aplicación cliente o cualquier script para realizar la conexión con el servidor de base de datos. El cliente predeterminado de la base de datos MariaDB es mysql. La conexión a la base de datos MariaDB se puede crear desde el terminal utilizando el cliente. Cualquier herramienta de interfaz gráfica de usuario (GUI) se puede utilizar también para hacer la conexión con la base de datos MariaDB como phpMyAdmin. Puede usar cualquier lenguaje de scripting del lado del servidor como PHP, Perl, Python, etc. para realizar la conexión con el servidor de base de datos MariaDB. Las formas de hacer las conexiones de base de datos desde el terminal, utilizando la herramienta GUI y utilizando el script PHP se muestran en la parte «Hacer conexión con MariaDB» de este tutorial.
Diferencia entre MariaDB y MySQL
MariaDB y MySQL tienen muchas diferencias importantes. Algunos de ellos se mencionan en la siguiente tabla:
MariaDB | MySQL |
---|---|
Se puede utilizar sin ningún costo. | Tiene versiones gratuitas y de pago. |
Fue lanzado en 2009. | Fue lanzado en 1995. |
Está desarrollado utilizando los lenguajes C, C++, Perl y Bash. | Se desarrolla utilizando los lenguajes C y C++. |
Funciona más rápido. | Funciona más lento. |
Es compatible con muchos motores de base de datos nuevos. | Admite menos motores de base de datos. |
No admite enmascaramiento de datos ni herramientas dinámicas. | Admite enmascaramiento de datos y herramientas dinámicas. |
Soporta un gran número de conexiones. | Admite un pequeño número de conexiones. |
Admite cifrado binario y una tabla temporal. | No admite el cifrado binario y una tabla temporal. |
Características importantes de MariaDB
Algunas características importantes del servidor de base de datos MariaDB se mencionan a continuación:
- Es de código abierto y está licenciado bajo GPL, LGPL o BSD.
- Es robusto y escalable.
- Utiliza un lenguaje de consulta popular y estándar.
- Es compatible con diferentes sistemas operativos.
- Se puede utilizar con diferentes lenguajes de programación.
- Actualiza el índice automáticamente.
- Es compatible con muchos lenguajes de scripting y tecnología de clúster Galera.
Instalar MariaDB en Ubuntu
Debe instalar MariaDB en el sistema operativo Ubuntu para realizar las tareas relacionadas con la base de datos.
Ejecute el siguiente comando para actualizar el sistema:
$ sudo apt update
Ejecute el siguiente comando para instalar el servidor MariaDB:
$ sudo apt install mariadb-server
Ejecute el siguiente comando para ejecutar el script de seguridad de MariaDB que ayudará a los usuarios a modificar algunas configuraciones predeterminadas del servidor MariaDB:
$ sudo mysql_secure_installation
El siguiente resultado aparece después de ejecutar el script de seguridad. Puede establecer la contraseña de root aquí o mantener la contraseña en blanco presionando enter:
A continuación, aparecerán muchas otras opciones de seguridad y el usuario seleccionará las opciones necesarias para modificar la configuración predeterminada. Después de configurar, ejecute el siguiente comando para verificar la versión instalada del servidor MariaDB y si funciona correctamente o no:
$ sudo mariadb
El siguiente resultado muestra que se ha instalado la versión 10.5.15 de MariaDB:
Crear un usuario con todos los privilegios
Puede crear un nuevo usuario con todos los privilegios ejecutando el siguiente comando con el nombre de usuario y la contraseña.
GRANT ALL ON *.* TO 'fahmida'@'localhost' IDENTIFIED BY 'secret'
WITH GRANT OPTION;
El siguiente resultado muestra que se ha creado un usuario llamado ‘fahmida’ con todos los privilegios. La contraseña del usuario es ‘secreta’.
Hacer conexión con MariaDB
La conexión al servidor MariaDB se puede implementar mediante cualquier aplicación cliente o mediante cualquier lenguaje de script descrito anteriormente. En esta parte, se muestra la forma de conectar el servidor MariaDB utilizando el cliente mysql, la interfaz GUI y el script PHP.
1. Uso del cliente Mysql
Ejecute el siguiente comando para conectarse con el servidor MariaDB utilizando el cliente mysql:
$ mysql -u fahmida –p
Aparece el siguiente mensaje si el inicio de sesión en el servidor se realiza correctamente.
2. Uso de PHPMyAdmin
Debe instalar el paquete PHPMyAdmin antes, que no se muestra aquí. Abra el navegador y ejecute la siguiente URL para abrir el formulario de inicio de sesión para conectarse con el servidor de base de datos.
Escriba el nombre de usuario y la contraseña válidos para iniciar sesión en el servidor.
La siguiente interfaz aparece si el inicio de sesión en el servidor se realiza correctamente. La versión del servidor MariaDB instalado se muestra en la sección Servidor de base de datos.
3. Uso de PHP Script
Cree un archivo PHP con el siguiente script para realizar la conexión con el servidor de base de datos. El script imprime un mensaje de éxito si la conexión de base de datos es correcta. De lo contrario, imprime un mensaje de error.
El siguiente resultado muestra que la conexión de base de datos es correcta:
<?php
//Initialize connection variable
$username = 'fahmida';
$password = 'secret';
$host = 'localhost';
//Create a connection with the database server
$db_connection = new mysqli($host, $username, $password);
//Check the connection
if(!$db_connection)
die('Unable to connect with the database server.' . mysql_error());
echo 'Connected to the database server successfully.';
mysql_close($db_connection);
?>
El siguiente resultado muestra que la conexión de base de datos es correcta:
Crear y eliminar base de datos
El SQL para crear y eliminar la base de datos se menciona a continuación:
Crear sintaxis de base de datos:
CREATE DATABASE [IF NOT EXISTS] db_name
Aquí, la opción IF NOT EXISTS es opcional. Se utiliza para comprobar si la base de datos se crea antes o no. Si la base de datos se creó antes, la base de datos no se volverá a crear.
Ejemplo:
La siguiente instrucción SQL crea la base de datos denominada test si no se creó antes.
CREATE DATABASE IF NOT EXISTS test;
El siguiente resultado muestra que la base de datos se ha creado correctamente:
Eliminar sintaxis de base de datos:
DROP DATABASE db_name
Cualquier base de datos existente se puede eliminar mediante el comando DROP.
Ejemplo:
DROP DATABASE test;
El siguiente resultado muestra que se ha eliminado la base de datos test:
Tipos de datos de MariaDB
La tabla de la base de datos MariaDB admite los diversos tipos de datos para almacenar los diferentes tipos de datos. Los tipos de datos de MariaDB se clasifican en cuatro grupos. Estos se dan en lo siguiente:
A. Tipos de datos numéricos
Muchos tipos de tipos de datos numéricos se pueden utilizar para almacenar los valores numéricos en tablas de base de datos MariaDB. Los propósitos del uso de los diferentes tipos de datos numéricos se describen en la tabla siguiente:
Tipos de datos numéricos | Propósitos |
---|---|
BOOLEAN | Se utiliza para almacenar valores TRUE o FALSE. |
TINYINT | Se utiliza para almacenar un entero muy pequeño. |
SMALLINT | Se utiliza para almacenar un pequeño entero. |
MEDIUMINT | Se utiliza para almacenar un entero de tamaño mediano. |
INT | Se utiliza para almacenar un entero. |
BIGINT | Se utiliza para almacenar un entero muy grande. |
DECIMAL | Se utiliza para almacenar números de punto fijo. |
FLOTAR | Se utiliza para almacenar un número de punto flotante de precisión simple. |
DOBLE | Se utiliza para almacenar un número de punto flotante de doble precisión. |
BIT | Se utiliza para almacenar un poco de valor. |
B. Tipos de datos de cadena
Se pueden usar muchos tipos de tipos de datos de cadena para almacenar los valores de caracteres o cadenas en tablas de base de datos MariaDB. Los propósitos del uso de los diferentes tipos de datos de cadena se describen en la tabla siguiente:
Tipos de datos de cadena | Propósitos |
---|---|
CHAR | Se utiliza para almacenar una cadena de caracteres de longitud fija. |
VARCHAR | Se utiliza para almacenar una cadena de caracteres de longitud variable. |
TINYTEXT | Se utiliza para almacenar una cadena no binaria muy pequeña. |
TEXT | Se utiliza para almacenar una pequeña cadena no binaria. |
MEDIUMTEXT | Se utiliza para almacenar una cadena no binaria de tamaño mediano. |
LONGTEXT | Se utiliza para almacenar una cadena no binaria grande. |
TINYBLOB | Se utiliza para almacenar un objeto binario grande muy pequeño. |
BLOB | Se utiliza para almacenar un pequeño objeto binario grande. |
MEDIUMBLOB | Se utiliza para almacenar un objeto binario grande de tamaño mediano. |
LONGBLOB | Se utiliza para almacenar un objeto binario grande muy grande. |
BINARY | Se utiliza para almacenar una cadena binaria de longitud fija. |
VARBINARY | Se utiliza para almacenar una cadena binaria de longitud variable. |
ENUM | Se utiliza para almacenar los datos de enumeración. |
SET | Se utiliza para almacenar los datos establecidos. |
C. Tipos de datos temporales
Los tipos de datos temporales se utilizan para almacenar los datos y los datos relacionados con el tiempo en las tablas de base de datos. Los propósitos del uso de los diferentes tipos de datos temporales se describen en la tabla siguiente:
Tipos de datos temporales | Propósitos |
---|---|
DATE | Se utiliza para almacenar el valor de fecha en el formato, YYYY-MM-DD. |
TIME | Se utiliza para almacenar el valor de tiempo en el formato, hh:mm:ss. |
DATETIME | Se utiliza para almacenar el valor de fecha y hora en el formato, YYYY-MM-DD. hh:mm:ss. |
TIMESTAMP | Se utiliza para almacenar el valor de fecha y hora actual en el formato, YYYY-MM-DD. hh:mm:ss. |
YEAR | Se utiliza para almacenar el valor en formato de 2 dígitos (YY) o formato de 4 dígitos (YYYY). |
D. Tipos de datos espaciales
Muchos tipos de datos espaciales se utilizan para almacenar los diversos valores geográficos en las tablas de base de datos MariaDB. Los propósitos del uso de los diferentes tipos de datos espaciales se describen en la tabla siguiente:
Tipos de datos espaciales | Propósitos |
---|---|
POINT | Se utiliza para almacenar valores de puntos (coordenadas X e Y. |
MULTIPOINT | Se utiliza para almacenar la colección de valores de puntos. |
POLYGON | Se utiliza para almacenar valores de polígonos. |
MULTIPOLYGON | Se utiliza para almacenar la colección de valores poligonales. |
GEOMETRY | Se utiliza para almacenar el valor espacial de cualquier tipo. |
GEOMETRYCOLLECTION | Se utiliza para almacenar la colección de valores de geometría. |
LINESTRING | Se utiliza para almacenar el valor de la curva. |
MULTILINESTRING | Se utiliza para almacenar la colección de valores LINESTRING. |
Los usos de algunos tipos de datos para crear una tabla se muestran en la siguiente parte de este tutorial.
Crear y eliminar tablas
La forma de crear y eliminar las tablas de la base de datos MariaDB se muestra en esta parte.
Crear sintaxis de tabla:
CREATE OR REPLACE TABLE [IF NOT EXISTS] table_name(
column_1_definition,
column_2_definition,
column_2_definition,
...,
table_constraints
) engine=storage_engine;
Aquí, la opción IF NOT EXISTS es opcional y se utiliza para crear la tabla si la tabla no se ha creado antes. Se utiliza un nombre de tabla único después de la palabra clave CREATE TABLE para crear la tabla. A continuación, se define la lista de nombres de columna con los tipos de datos y los atributos necesarios para la tabla. Cada nombre de columna está separado por una coma. Por último, se define el nombre del motor de almacenamiento de la tabla. El nombre predeterminado del motor de almacenamiento es InnoDB si no se define ningún tipo de motor en el momento de la creación de la tabla.
Cada definición de columna de la tabla puede contener las siguientes opciones:
column_name data_type(longitud) [NO NULO] [VALOR PREDETERMINADO] [AUTO_INCREMENT]
column_constraint;
El nombre único se utiliza para cada columna de la tabla seguido de un tipo de datos compatible con la base de datos MariaDB. El atributo NOT NULL se usa con el nombre de columna si la columna no puede almacenar el valor NULL. El atributo DEFAULT VALUE se utiliza para almacenar un valor predeterminado en la columna si no se inserta ningún valor en la columna en el momento de la inserción. El atributo AUTO_INCREMENT se utiliza para incrementar el valor del por 1 automáticamente. Este atributo se utiliza principalmente para la columna PRIMARY KEY.
Ejemplo:
Ejecute el siguiente comando para crear una base de datos denominada testdb si no se ha creado antes:
CREATE DATABASE testdb;
Ejecute el siguiente comando para seleccionar la base de datos testdb:
use testdb;
Ejecute el siguiente comando para crear una tabla denominada productos 6 campos de los diferentes tipos de datos:
CREATE TABLE products(
id int auto_increment,
name varchar(255) not null,
type varchar(50) not null,
manufacturing_date date not null,
expire_date date not null,
price decimal(5,2) not null,
primary key(id)
);
El siguiente resultado aparece si la tabla se crea correctamente:
Eliminar sintaxis de tabla:
DROP TABLE [IF EXISTS] table_name;
La opción IF NOT EXISTS se puede utilizar para comprobar si la tabla ya existe o no antes de crear la tabla.
Ejemplo:
DROP TABLE IF EXISTS products;
El siguiente resultado aparece si la tabla se elimina correctamente:
Operaciones CRUD
Las operaciones CRUD indican los cuatro tipos de operaciones. Estos son Crear/Insertar, Leer/Seleccionar, Actualizar y Eliminar registros en la tabla. Estas operaciones se explican con los ejemplos de esta parte.
1. Insertar datos
Ejecute la siguiente consulta
INSERT INTO products
(name, type, manufacturing_date, expire_date, price)
VALUES ("Diploma Milk 1 KG","Milk","2022-01-12","2023-01-12", 600);
El siguiente resultado aparece si se inserta correctamente un nuevo registro en la tabla:
Ejecute la siguiente consulta
INSERT INTO products
(name, type, manufacturing_date, expire_date, price)
VALUES ("FRESH Oil 5 KG","Oil","2022-06-15","2024-05-15", 900),
("Teer Salt 1 KG","Salt","2022-02-10","2023-02-11", 50),
("FRESH Sugar 1 KG","Sugar","2022-05-25","2024-01-19", 100) ;
El siguiente resultado aparece si se insertan tres registros correctamente en la tabla:
2. Leer datos
Ejecute la siguiente consulta SELECT para leer todos los registros de la tabla de productos:
SELECT * FROM products;
El siguiente resultado aparece si la consulta SELECT funciona correctamente:
3. Actualizar datos
Ejecute la siguiente consulta UPDATE que actualiza los valores de los campos tipo y precio si el valor de identificación de la fila es 1.
UPDATE products
SET type = "Powder Milk", price = 650
WHERE id = 1;
El siguiente resultado aparece si la consulta UPDATE funciona correctamente:
4. Eliminar datos
Ejecute la siguiente consulta DELETE que elimina los registros de la tabla de productos donde el valor del tipo es «Sugar«:
DELETE FROM products WHERE type = "Sugar";
El siguiente resultado aparece si la consulta DELETE funciona correctamente:
Ejecute la siguiente consulta DELETE para dejar vacía la tabla:
DELETE FROM products ;
Uso de cláusulas
Se utilizan diferentes cláusulas con las consultas SELECT, INSERT, UPDATE y DELETE. Los usos de las cláusulas de uso común se mencionan a continuación:
- Cláusula WHERE
Se utiliza con las consultas SELECT, INSERT, UPDATE y DELETE para filtrar los datos. - Cláusula FROM
Se utiliza principalmente para seleccionar los datos de la tabla. - Cláusula DISTINCT
Se utiliza para recuperar datos únicos de la tabla. - Cláusula ORDER BY
Se utiliza para leer los registros de la tabla en orden ordenado. - Cláusula GROUP BY
Se utiliza para recuperar los registros de la tabla agrupando una o más columnas. - Cláusula HAVING
Se utiliza con la cláusula GROUP BY para recuperar los registros en función de la condición.
Ejemplo:
Los usos de la cláusula ORDER BY se muestran en el siguiente ejemplo.
Ejecute la siguiente consulta
INSERT INTO products
(name, type, manufacturing_date, expire_date, price)
VALUES ("Teer Oil 5 KG","Oil","2021-06-15","2023-05-15", 950),
("Arong Salt 500G","Salt","2020-02-19","2022-12-11", 20),
("FRESH Salt 1 KG","Salt","2022-06-25","2024-03-19", 55);
Ejecute la siguiente consulta
SELECT * FROM products
ORDER BY price DESC;
El siguiente resultado aparece después de ejecutar la consulta anterior:
Uso de operadores de comparación
El servidor MariaDB que se utiliza con la cláusula WHERE de la consulta admite diferentes tipos de operadores de comparación. Algunos operadores de comparación de uso común se mencionan en la siguiente tabla:
Ejemplo:
Ejecute la siguiente consulta
SELECT name, type, price
FROM products
WHERE type IN (“Salt”, “Oil”)
ORDER BY type;
El siguiente resultado aparece después de ejecutar la consulta anterior:
Uso de operadores lógicos
El servidor MariaDB que se utiliza con la cláusula WHERE de la consulta admite diferentes tipos de operadores lógicos. Algunos operadores lógicos de uso común se mencionan en la tabla siguiente:
Operador lógico | Propósito |
---|---|
! | Se utiliza para la comparación lógica NOT. |
&& | Se utiliza para la comparación lógica AND. |
Xor | Se utiliza para la comparación lógica XOR. |
|| | Se utiliza para la comparación lógica de OR. |
Ejemplo:
Ejecute la siguiente consulta
SELECT name, price
FROM products
WHERE type = “Powder Milk” || type = “Salt”;
El siguiente resultado aparece después de ejecutar la consulta anterior:
Uso de funciones agregadas
El servidor MariaDB que se utiliza con la consulta SELECT admite diferentes tipos de funciones agregadas. Algunas funciones agregadas de uso común se mencionan en la tabla siguiente:
Función de agregado | Propósito |
---|---|
avg() | Se utiliza para averiguar el promedio de números no nulos. |
count() | Se utiliza para contar el número de filas de una tabla. |
group_concat() | Se utiliza para concatenar la cadena de un grupo con varias opciones. |
max() | Se utiliza para averiguar el valor máximo en un conjunto. |
min() | Se utiliza para averiguar el valor mínimo en un conjunto. |
Sum() | Se utiliza para averiguar la suma de un campo numérico particular. |
Stddev() | Se utiliza para averiguar la desviación estándar de la población. |
Stddev_pop() | Igual que stddev() |
stddev_samp() | Se utiliza para averiguar la desviación estándar de la muestra. |
Var_pop() | Se utiliza para averiguar la varianza estándar de la población. |
Varp_sam() | Se utiliza para averiguar la varianza de la muestra. |
Variance() | Igual que var_pop(). |
Bit_and() | Se utiliza para averiguar el bit a bit AND. |
Bit_or() | Se utiliza para averiguar el OR bit a bit. |
Bit_xor() | Se utiliza para averiguar el XOR bit a bit. |
Ejemplos:
Ejecute la siguiente consulta
SELECT COUNT(id) as Total_Products
FROM products;
El siguiente resultado aparece después de ejecutar la consulta anterior:
Ejecute la siguiente consulta
SELECT type, SUM(price)
FROM products
GROUP BY type;
El siguiente resultado aparece después de ejecutar la consulta anterior:
Ejecute la siguiente consulta
SELECT name, type, MAX(price)
FROM products;
El siguiente resultado aparece después de ejecutar la consulta anterior:
Conclusión
Los propósitos de usar el servidor de base de datos MariaDB y los usos básicos de este servidor se explican en este tutorial. Muchas características de nivel avanzado como la cláusula JOIN, funciones, procedimientos, desencadenadores, etc. son características más útiles de este servidor que no se tratan en este tutorial. Los nuevos usuarios de la base de datos obtendrán el concepto básico del servidor de base de datos y podrán comenzar a trabajar con el servidor MariaDB después de leer este tutorial.
[…] Un servidor web. Este tutorial vamos a usar XAMPP, en el siguiente tutorial explicamos como instalar un servidor web con…
[…] está buscando crear proyectos web con Python, Cómo iniciar rápidamente un proyecto Django y una aplicación Django es un buen lugar…
[…] crear un entorno virtual denominado .venv (o el nombre que desee) con el siguiente […]
[…] ver más sobre el comando cat puede ver en nuestros articulos: https://blog.pachahosting.com/como-usar-el-comando-cat-para-escribir-un-texto-en-un-archivo/ y […]
[…] Cómo usar el comando Cat para escribir un texto en un archivo ◀Previous Post Next Post Coming Soon...▶ […]