Mariadb
Mariadb
SQL (Mariadb)
MariaDB es un sistema de gestión de bases de datos relacional de código abierto que se basa en el
código fuente del sistema de gestión de bases de datos MySQL. Fue creado como una bifurcación
(fork) de MySQL en 2009, luego de que Oracle adquiriera Sun Microsystems, la empresa matriz de
MySQL en ese momento. MariaDB está diseñado para ser una alternativa compatible con MySQL, lo
que significa que muchos de los comandos, sintaxis y características de MySQL también se aplican a
MariaDB.
MariaDB fue desarrollado por el equipo original de desarrolladores de MySQL, liderado por Michael
"Monty" Widenius, uno de los creadores originales de MySQL. El objetivo principal de MariaDB es
ofrecer una base de datos relacional de alto rendimiento, confiable y de código abierto para
aplicaciones empresariales y web.
En MariaDB (y en MySQL) existen varios tipos de datos que se pueden utilizar para definir los campos
de una tabla. A continuación, te menciono algunos de los tipos de datos más comunes en MariaDB:
Números enteros:
TINYINT: entero de 1 byte, rango de -128 a 127 o de 0 a 255 (sin signo).
SMALLINT: entero de 2 bytes, rango de -32,768 a 32,767 o de 0 a 65,535
(sin signo).
MEDIUMINT: entero de 3 bytes, rango de -8,388,608 a 8,388,607 o de 0 a
16,777,215 (sin signo).
INT o INTEGER: entero de 4 bytes, rango de -2,147,483,648 a
2,147,483,647 o de 0 a 4,294,967,295 (sin signo).
BIGINT: entero de 8 bytes, rango de -9,223,372,036,854,775,808 a
9,223,372,036,854,775,807 o de 0 a 18,446,744,073,709,551,615 (sin signo).
Números decimales:
DECIMAL(p, s): número decimal exacto, donde "p" representa la precisión
(número total de dígitos) y "s" representa la escala (número de dígitos
después del punto decimal).
FLOAT: número de punto flotante de precisión simple.
DOUBLE: número de punto flotante de precisión doble.
Cadenas de texto:
CHAR(n): cadena de texto de longitud fija, con un máximo de "n"
caracteres.
VARCHAR(n): cadena de texto de longitud variable, con un máximo de "n"
caracteres.
TEXT: cadena de texto de longitud variable, con un tamaño máximo de
65,535 bytes.
Fechas y horas:
DATE: fecha en formato 'YYYY-MM-DD'.
TIME: hora en formato 'HH:MM:SS'.
DATETIME: combinación de fecha y hora en formato 'YYYY-MM-DD HH:MM:SS'.
TIMESTAMP: marca de tiempo, se almacena en formato 'YYYY-MM-DD
HH:MM:SS'.
En MariaDB, puedes utilizar la cláusula IF NOT EXISTS para verificar si la base de datos ya existe
antes de crearla. Aquí tienes un ejemplo de cómo crear una base de datos en MariaDB utilizando esta
cláusula:
Recuerda que debes tener los privilegios adecuados para crear bases de datos en MariaDB.
En MariaDB, puedes modificar una base de datos existente utilizando la declaración ALTER
DATABASE . Aquí tienes un ejemplo de cómo modificar una base de datos en MariaDB:
Aquí tienes un ejemplo que muestra cómo modificar una base de datos llamada "mi_basedatos" para
utilizar el conjunto de caracteres UTF-8:
Para crear una tabla en una base de datos, se utiliza la sentencia SQL llamada CREATE TABLE . Esta
sentencia te permite definir la estructura de la tabla, incluyendo los nombres de las columnas y los
tipos de datos que contendrán. Aquí tienes un ejemplo básico de cómo se crea una tabla:
nombre_tabla : Es el nombre que le darás a la tabla que estás creando. Puedes elegir cualquier
nombre que sea válido según las reglas de nomenclatura de tu base de datos.
columna1 , columna2 , columna3 , etc.: Son los nombres de las columnas que deseas incluir en
la tabla.
tipo_dato1 , tipo_dato2 , tipo_dato3 , etc.: Son los tipos de datos que asignarás a cada
columna. Los tipos de datos pueden ser INT para números enteros, VARCHAR para cadenas de
texto, DATE para fechas, entre otros. También puedes especificar restricciones y propiedades
adicionales para cada columna, como la longitud máxima de una cadena de texto o si la columna
permite valores nulos.
Un ejemplo más concreto de cómo crear una tabla llamada "usuarios" con algunas columnas:
En este caso, hemos creado una tabla "usuarios" con cuatro columnas: "id" de tipo INT , "nombre" de
tipo VARCHAR con una longitud máxima de 50 caracteres, "email" de tipo VARCHAR con una longitud
máxima de 100 caracteres, y "fecha_nacimiento" de tipo DATE .
Recuerda que este es solo un ejemplo básico y que las sentencias SQL pueden variar según la base
de datos que estés utilizando. Asegúrate de consultar la documentación de tu base de datos específica
para obtener información detallada sobre cómo crear tablas.
En MariaDB, puedes utilizar la cláusula IF NOT EXISTS para verificar si una tabla ya existe antes de
crearla. Aquí tienes un ejemplo de cómo crear una tabla en MariaDB utilizando esta cláusula:
A continuación, debes especificar las columnas de la tabla junto con sus tipos de datos. Puedes
agregar tantas columnas como necesites.
Para crear una tabla con claves externas (foreign keys) en MariaDB, puedes utilizar la declaración
CREATE TABLE junto con la cláusula FOREIGN KEY . A continuación, te muestro un ejemplo de cómo
crear una tabla con una clave externa:
En este ejemplo, se crea la tabla llamada "tabla1" con tres columnas: "id", "columna1" y "columna2".
La columna "id" se define como clave primaria utilizando PRIMARY KEY , mientras que la columna
"columna2" se define como clave externa utilizando FOREIGN KEY . La cláusula REFERENCES se utiliza
para especificar la tabla y la columna a la que la clave externa hace referencia.
En el ejemplo anterior, la clave externa "columna2" de la tabla "tabla1" hace referencia a la columna
"id" de la tabla "tabla2". Esto establece una relación entre las dos tablas donde la columna "columna2"
en "tabla1" debe contener valores que existan en la columna "id" de "tabla2".
Recuerda que las claves externas solo pueden crearse si las tablas involucradas ya existen en la base
de datos. Además, debes asegurarte de que los tipos de datos de las columnas coincidan para
establecer una relación adecuada entre las tablas.
Para modificar una tabla existente en MariaDB, puedes utilizar la declaración ALTER TABLE . Con
ALTER TABLE , puedes agregar, modificar o eliminar columnas, así como realizar otros cambios en la
estructura de la tabla. A continuación, te muestro algunos ejemplos de cómo modificar una tabla en
MariaDB:
Insertar registros
Para insertar registros en una tabla existente en una base de datos, se utiliza la sentencia SQL
llamada INSERT INTO . Esta sentencia te permite especificar los valores que deseas insertar en cada
columna de la tabla. Aquí tienes un ejemplo básico de cómo se insertan registros:
(columna1, columna2, columna3, ...) : Especifica las columnas a las cuales deseas insertar
valores. Puedes omitir esta parte si deseas insertar valores en todas las columnas, en el orden en
que se crearon.
VALUES (valor1, valor2, valor3, ...) : Especifica los valores que deseas insertar en las
columnas. Debes asegurarte de que los valores coincidan con el tipo de dato de cada columna en
la tabla.
Aquí tienes un ejemplo más concreto de cómo insertar un registro en la tabla "usuarios" que creamos
anteriormente:
En este caso, hemos insertado un registro en la tabla "usuarios" con los valores correspondientes para
cada columna.
Si deseas insertar varios registros a la vez, puedes especificar múltiples conjuntos de valores
separados por comas, como en el siguiente ejemplo:
Recuerda que este es solo un ejemplo básico y que las sentencias SQL pueden variar según la base
de datos que estés utilizando. Asegúrate de consultar la documentación de tu base de datos específica
para obtener información detallada sobre cómo insertar registros.
Es posible modificar registros en una tabla utilizando la declaración UPDATE en MariaDB. La sintaxis
básica de la instrucción UPDATE es la siguiente:
UPDATE nombre_tabla
SET columna1 = valor1, columna2 = valor2, ...
WHERE condición;
columna1 , columna2 , ...: las columnas que deseas actualizar y los nuevos valores que deseas
asignarles.
condición : una condición opcional que especifica qué registros deben ser modificados. Si no se
proporciona una condición, todos los registros de la tabla serán actualizados.
A continuación, te muestro un ejemplo de cómo utilizar la declaración UPDATE para modificar registros
en una tabla:
UPDATE usuarios
SET nombre = 'Juan', edad = 30
WHERE id = 1;
En este ejemplo, se actualiza el registro en la tabla "usuarios" que tiene un ID igual a 1. La columna
"nombre" se establece en 'Juan' y la columna "edad" se establece en 30.
Recuerda siempre incluir una cláusula WHERE en tu instrucción UPDATE para especificar qué registros
deben ser modificados. De lo contrario, todos los registros de la tabla se actualizarán con los nuevos
valores especificados en la cláusula SET .
Si se quieren mostrar 2 o más campos, los nombres del campo se separan por ","
El "AS" se usa para crear un alias. El nombre del campo aparece en el listado como se indica en el
alias.
Mayor que
< Menor que
= Igual a
<= Menor o igual que
= Mayor o igual que
Se pueden combinar con OR o con AND. OR quiere decir que se puede cumplir una condición u otra.
Y AND que se tienen que cumplir todas las condiciones.
Eso mostraría las películas más modernas de 1980 que duren más de 90 minutos.
Mostraría las películas ordenadas por año de estreno en orden descendente, es decir, de las más
modernas a las más antiguas.
Para hacer una consulta que muestre los actores y actrices de una película:
Eso muestra los resultados en una fila, con group concat conseguimos eso, además separa con
espacios el nombre y el primer apellido.
La cláusula WHERE en SQL se utiliza para filtrar filas en función de una condición específica. La
cláusula LIKE se utiliza dentro de la cláusula WHERE para realizar una búsqueda de patrones en una
columna de texto.
En el ejemplo anterior, reemplaza columna1 , columna2 y columna3 con los nombres de las
columnas reales en tu tabla, y reemplaza 'patron' con el patrón de búsqueda que deseas utilizar.
El operador LIKE admite el uso de caracteres comodín para realizar búsquedas más flexibles:
Aquí tienes algunos ejemplos de cómo puedes usar caracteres comodín con LIKE :
WHERE columna3 LIKE 'abc%' : Selecciona filas donde columna3 comienza con "abc".
WHERE columna3 LIKE '%xyz' : Selecciona filas donde columna3 termina con "xyz".
WHERE columna3 LIKE '%def%' : Selecciona filas donde columna3 contiene "def" en cualquier
posición.
WHERE columna3 LIKE '_xy_' : Selecciona filas donde columna3 tiene exactamente cinco
caracteres y el segundo y tercer carácter son "xy".
La cláusula LIMIT se utiliza en SQL para limitar el número de filas devueltas por una consulta. Es
especialmente útil cuando deseas obtener solo una cierta cantidad de registros de una tabla, por
ejemplo, los primeros 10 resultados o las 5 películas más recientes.
En el ejemplo anterior, reemplaza columna1 , columna2 y tabla con los nombres reales de las
columnas y la tabla en tu consulta. Luego, reemplaza cantidad con el número de filas que deseas
obtener.
Por ejemplo, si deseas obtener los primeros 10 registros de una tabla, la consulta se vería así:
Si deseas obtener los 5 registros más recientes ordenados por fecha de estreno, podrías combinar
LIMIT con ORDER BY de la siguiente manera:
En este caso, los registros se ordenan en orden descendente según la columna fecha_estreno y se
limita el resultado a las primeras 5 filas.
Esto listaría las películas con todas sus puntuaciones ordenadas descendentemente por fecha de
estreno.
Esta otra mostraría el título, el estreno, todas las puntuaciones y el promedio de las puntuaciones con
dos posiciones decimales. El orden sería descendente por fecha de estreno.
Operaciones
1. Operadores aritméticos:
Suma: "+"
Resta: "-"
Multiplicación: "*"
División: "/"
2. Operadores de comparación:
Igualdad: "="
Desigualdad: "<>", "!=", "<", ">", "<=", ">="
Comparación de cadenas: LIKE, NOT LIKE
Comparación de valores nulos: IS NULL, IS NOT NULL
Rango de valores: BETWEEN ... AND ...
3. Operadores lógicos:
4. Operadores de concatenación:
IF(): condicional
-- Operadores aritméticos
SELECT 10 + 5; -- Resultado: 15
SELECT 10 * 3; -- Resultado: 30
-- Operadores de comparación
SELECT nombre FROM empleados WHERE salario > 5000;
SELECT nombre FROM empleados WHERE edad BETWEEN 25 AND 30;
SELECT nombre FROM empleados WHERE departamento IN ('Ventas', 'Marketing');
-- Operadores lógicos
SELECT nombre FROM empleados WHERE edad > 30 AND salario > 5000;
SELECT nombre FROM empleados WHERE edad > 40 OR salario > 10000;
-- Operadores de concatenación
SELECT CONCAT(nombre, ' ', apellido) AS nombre_completo FROM empleados;
Recuerda que los operadores se utilizan dentro de las cláusulas SELECT, WHERE, HAVING, entre
otras, según la necesidad de la consulta.