MySQL es un sistema de gestión de bases de datos relacionales de código abierto compatible con el lenguaje de consulta estructurado (SQL). Ayuda en el desarrollo de una amplia gama de aplicaciones basadas en web y contenido en línea. MySQL se ejecuta en todas las plataformas OS como Linux/UNIX, macOS, Windows y es un componente importante de la pila LAMP.
MySQL es uno de los sistemas de bases de datos más populares y muchos proveedores de nube lo ofrecen como parte de su servicio. Utiliza comandos con consultas y datos para realizar tareas y funciones comunicándose con la base de datos. Este artículo cubre las declaraciones de MySQL más utilizadas que permiten a los usuarios trabajar de manera eficiente con bases de datos.
Uso del cliente MySQL
MySQL le permite conectarse a un servidor utilizando un cliente como la herramienta de línea de comandos, mysql . Use las banderas -u y -p para proporcionar su nombre de usuario y contraseña:
mysql -u [username] -p
mysql -u [username] -p [database]
Cuando haya terminado, salga del cliente de línea de comandos de MySQL de la siguiente manera:
exit
Trabajar con cuentas de usuario
Para crear una nueva cuenta de usuario, abra la nueva terminal para acceder a MySQL como raíz y cree un nuevo usuario de la siguiente manera:
$ sudo mysql -u root -p
...
mysql> CREATE USER 'username' IDENTIFIED BY 'password';
También puede configurar una cuenta de usuario con acceso restringido especificando un host desde el que deben acceder a la base de datos:
CREATE USER 'user'@'localhost';
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
Para especificar una conexión remota, puede reemplazar el 'localhost' con la dirección IP de la máquina de la siguiente manera:
CREATE USER 'username'@'ip_address' IDENTIFIED BY 'password';
Por último, puede eliminar una cuenta con la siguiente declaración:
DROP USER 'user'@'ip_address' IDENTIFIED BY 'password';
Privilegios de la cuenta de usuario
Antes de continuar, deberá configurar los permisos apropiados en la nueva cuenta de usuario. Esto evita el riesgo de acceso de usuario innecesario dentro de la base de datos.
Puede trabajar con privilegios de usuario en MySQL utilizando sentencias como GRANT, REVOKE y ALTER. Dependiendo de las acciones que desee que un usuario pueda realizar, puede asignar todos o algunos permisos. Estos permisos son TODOS LOS PRIVILEGIOS, SELECCIONAR, ACTUALIZAR, INSERTAR, ELIMINAR, CREAR, ELIMINAR Y CONCEDER OPCIONES.
Puede asignar el privilegio administrativo de insertar datos a todas las tablas pertenecientes a cualquier base de datos:
GRANT INSERT ON *.* TO 'username'@'ip_address';
Sin embargo, también puede limitar el acceso de los usuarios especificando la base de datos antes del período. Puede permitir que un usuario seleccione, inserte y elimine datos hacia y desde todas las tablas dentro de una base de datos de la siguiente manera:
GRANT SELECT, INSERT, DELETE ON database.* TO 'user'@'ip_address' IDENTIFIED BY 'password';
De manera similar, puede restringir el acceso de los usuarios a una tabla específica especificando un nombre de tabla después del punto.
GRANT SELECT, INSERT, DELETE ON database.table_name TO 'user'@'ip_address' IDENTIFIED BY 'password';
Puede otorgar todos los permisos a cada tabla dentro de una base de datos específica de la siguiente manera:
GRANT ALL PRIVILEGES ON database.* TO 'user'@'ip_address' IDENTIFIED BY 'password';
Para revocar los permisos de un usuario de una sola base de datos:
REVOKE ALL PRIVILEGES ON database.* FROM 'user'@'ip_address';
Puede revocar todos los privilegios de usuario de cada base de datos de la siguiente manera:
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'ip_address';
Finalmente, puede establecer contraseñas como esta:
SET PASSWORD FOR 'user'@'ip_address' = PASSWORD('new_password');
Tenga en cuenta el uso de la función PASSWORD que codifica la contraseña de texto sin formato .
Trabajar con bases de datos
Puede crear una nueva base de datos con un nombre que aún no existe:
CREATE DATABASE database_name;
Puede cambiar la base de datos actual a otra con la que desee trabajar:
USE database_name;
Por último, puede eliminar una base de datos completa junto con sus tablas de la siguiente manera:
DROP DATABASE database_name;
Trabajar con tablas
Una tabla es el principal elemento estructural de una base de datos MySQL , agrupando un conjunto de registros relacionados como filas. Cada fila tiene columnas con diferentes tipos de datos que pueden ser CHAR, VARCHAR y TEXT entre muchos otros.
La sintaxis general para crear una tabla es la siguiente:
CREATE TABLE table_name (column_1 data_type1, column_2 data_type2);
También puede crear una nueva tabla a partir de una tabla existente seleccionando columnas específicas de la siguiente manera:
CREATE TABLE new_table_name AS SELECT column_1, column_2 FROM existing_table_name;
Puede agregar datos a una tabla usando el siguiente comando:
INSERT INTO table_name (column_1, column_2) VALUES (value_1, value_2);
Para eliminar una tabla, use la declaración DROP TABLE de la siguiente manera:
DROP TABLE table_name;
O mantiene la tabla pero elimina todos sus datos usando:
TRUNCATE TABLE table_name;
Acceso a bases de datos
Use la siguiente declaración para mostrar todas las bases de datos disponibles dentro de MySQL DMS:
SHOW DATABASES;
De manera similar, puede enumerar todas las tablas en la base de datos actual:
SHOW TABLES;
Para ver todas las columnas dentro de una tabla:
DESCRIBE table_name;
Para mostrar información de columna dentro de una tabla:
DESCRIBE table_name column_name;
Consultar bases de datos
MySQL le permite usar una declaración SELECT para consultar datos de la base de datos. Puede usar varias cláusulas de MySQL para ampliar su funcionalidad básica.
La siguiente instrucción devuelve un conjunto de resultados que consta de dos columnas de cada fila de una tabla:
SELECT column1, column2 FROM table_name;
O mostrar todas las columnas de la siguiente manera:
SELECT * FROM table_name;
También puede consultar bases de datos/tablas y recuperar información usando condiciones de la siguiente manera:
SELECT column1, column2 FROM table_name WHERE condition;
La declaración SELECT también le permite agrupar el conjunto de resultados por una o más columnas usando la cláusula GROUP BY. Luego puede usar funciones agregadas para calcular datos de resumen:
SELECT COUNT(CustomerID), Country FROM Customers GROUP BY Country;
Actualización de tablas
Puede modificar los datos dentro de la tabla utilizando las instrucciones UPDATE o ALTER. La instrucción ACTUALIZAR le permite actualizar uno o varios registros/filas existentes.
El siguiente comando de MySQL cambia el nombre de usuario y la ciudad de un solo registro donde el ID de usuario es 2 :
UPDATE Users SET UserName = 'Alfred James', City= 'Munich' WHERE UserID = 2;
Si bien este ejemplo actualiza todos los UserName para todos los registros donde la ciudad es Munich :
UPDATE Users SET UserName='Juan' WHERE City='Munich';
Puede agregar una columna a una tabla como esta:
ALTER TABLE table_name ADD COLUMN column_name;
Para eliminar una columna de la tabla, use la declaración ALTER TABLE de la siguiente manera:
ALTER TABLE table_name DROP COLUMN column_name;
MySQL para principiantes
En este artículo, ha visto los comandos MySQL más comunes. Le permiten administrar cuentas de usuario, cambiar la estructura de las bases de datos y manipular datos.
Una vez que se sienta cómodo con los conceptos básicos, es útil aprender sobre MySQL y la seguridad. Su base de datos puede contener datos personales valiosos y confidenciales, por lo que mantenerla a salvo de miradas indiscretas es vital.