SQL es un sistema de base de datos relacional
Published on April 10, 2023 by Gmichet
BASE DE DATOS
9 min READ
SQL forma parte de las bases de datos relacionales, esto significa que los datos que se guardan y organizan en las tablas estan relacionadas entre sí. Una base de datos relacional contiene múltiples tablas y cada tabla contiene:
En una base datos relacional, pueden haber varias tablas que a su vez están conectadas mediante una columna común.
El lenguaje utilizado para trabajar con base de datos será SQL
(Structured Query Language
) o también llamado “Lenguaje de consulta estructurado”, nos permite utilizar comandos especificos para realizar consultas, insertar nuevos datos, modificar registros, etc.
❯ sudo apt update
-
❯ sudo apt install mysql-server
mysql-server
a continuación iniciamos mysql-server
:❯ sudo mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.33-0ubuntu0.22.04.2 (Ubuntu)
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
mysql> CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'contraseña';
ALL PRIVILEGES
. A continuación una tabla con la lista de permisos:Permiso | Descripción |
---|---|
ALL PRIVILEGES | Concede todos los permisos en todas las bases de datos y tablas. |
CREATE | Permite al usuario crear nuevas bases de datos o tablas. |
DROP | Permite al usuario eliminar bases de datos o tablas existentes. |
SELECT | Permite al usuario realizar consultas de lectura en las tablas. |
INSERT | Permite al usuario agregar nuevos registros a las tablas. |
UPDATE | Permite al usuario modificar los registros existentes en las tablas. |
DELETE | Permite al usuario eliminar registros de las tablas. |
GRANT OPTION | Permite al usuario otorgar o revocar permisos a otros usuarios. |
ALTER | Permite al usuario realizar modificaciones en la estructura de las tablas, como agregar o eliminar columnas. |
INDEX | Permite al usuario crear o eliminar índices en las tablas. |
GRANT ALL PRIVILEGES ON *.* TO 'nombre_usuario'@'localhost';
Ese comando que ejecutamos significa: otorgar al usuario todos los privilegios en todas las bases de datos.
Query OK, 0 rows affected (0.01 sec)
mysql> exit;
Bye
La instalación de este es mucho más facil y existen dos formas:
Mysql-Workbench
desde el software de aplicaciones que viene por defecto en linux.Si lo hiciste por la segunda opción navega hasta el sitio del paquete .deb descargado:
cd Descargas/
Instalando
sudo apt install ./nombre_del_paquete.deb
Si ya abriste la aplicación es necesario borrar el Local instance 3306
ya que posee privilegios root
. Con click derecho sobre ese apartado se puede eliminar:
Creamos otra seleccionando en el icono +
para añadir una nueva MySQL Connections
:
Te saldrá la siguiente ventana, vamos a llenar los campos seleccionados de color rojo:
mysql> CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'contraseña';
ok
.Ahora da un click sobre la nueva conexión que creaste, te pedira una contraseña ingresa la que creamos anteriormente mysql> CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'contraseña';
Si todo salio bien te mostrará esto:
chinook
Para no crear una base de datos desde cero necesitamos importar una, entonces vamos a descargar la base de datos chinook desde su repositorio de github.
Pulsamos en el boton de code
para después descargar el archivo .zip
:
Una vez finalizada la descarga abre el MySQL-workbench
–> Presiona en la pestaña superior Server
–> Data import
:
Se abrirá otra ventana ve a la parte marcada de rojo y presiona en los tres puntos ...
:
Navega hasta la ubicación del archivo descomprimido de la base de datos chinook
.
En la sección “Default Schema to be Imported To”, puedes elegir si deseas importar la base de datos Chinook en una nueva base de datos o en una base de datos existente. Si seleccionas una base de datos existente, elige la base de datos adecuada de la lista desplegable.
Importamos la base de datos chinook
:
Importante debemos importar el archivo que tenga como nombre
Chinook_MySql.sql
.
Ya que tenemos la base de datos importada desde workbench falta iniciar nuestro usuario desde la terminal: Abrimos la terminal y ejecutamos el siguiente comando:
❯ mysql -u nombre_usuario -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 8.0.33-0ubuntu0.22.04.2 (Ubuntu)
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
.
Mostramos las bases de datos diponibles:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| Chinook |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
.
Para seleccionar la base de datos que deseas utilizar, puedes ejecutar el siguiente comando:
USE nombre_base_de_datos;
.
En este caso chinook:
mysql> USE Chinook;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
.
Y estamos dentro de la base de datos chinook
ahora podemos realizar consultas de cualquier tabla relacionada a la base de datos chinook
:
mysql> SHOW TABLES;
+-------------------+
| Tables_in_Chinook |
+-------------------+
| Album |
| Artist |
| Customer |
| Employee |
| Genre |
| Invoice |
| InvoiceLine |
| MediaType |
| Playlist |
| PlaylistTrack |
| Track |
+-------------------+
11 rows in set (0.00 sec)
Bueno en este post aprendimos sobre que es SQL que son las bases de datos relacionales, como están organizadas y relacionadas con las diferentes tablas que a su vez poseen columnas y filas. También aprendimos sobre la instalación desde la terminal de comandos hasta importar una base de datos desde el entorno gráfico, entre otras cosas.
En el siguiente post veremos el uso fundamental del lenguaje SQL a través de la consola.