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. Utilizar el -tu y -pags banderas para proporcionar su nombre de usuario y contraseña:
mysql -u [nombre de usuario] -p
mysql -u [nombre de usuario] -p [base de datos]
Cuando haya terminado, salga del cliente de línea de comandos de MySQL de la siguiente manera:
Salida
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 raíz -p
...
mysql> CREAR USUARIO 'nombre de usuario' IDENTIFICADO POR 'contraseña';
También puede configurar una cuenta de usuario con acceso restringido especificando un host desde el que deben acceder a la base de datos:
CREAR USUARIO 'usuario'@'localhost';
CREAR USUARIO 'nombre de usuario'@'localhost' IDENTIFICADO POR 'contraseña';
Para especificar una conexión remota, puede reemplazar el 'localhost' con la dirección IP de la máquina de la siguiente manera:
CREAR USUARIO 'nombre de usuario'@'dirección_ip' IDENTIFICADO POR 'contraseña';
Por último, puede eliminar una cuenta con la siguiente declaración:
DROP USER 'usuario'@'dirección_ip' IDENTIFICADO POR 'contraseña';
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:
OTORGAR INSERCIÓN EN *.* 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:
CONCEDER SELECCIONAR, INSERTAR, ELIMINAR EN la base de datos.* A 'usuario'@'dirección_ip' IDENTIFICADO POR 'contraseña';
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' IDENTIFICADO POR 'contraseña';
Puede otorgar todos los permisos a cada tabla dentro de una base de datos específica de la siguiente manera:
CONCEDER TODOS LOS PRIVILEGIOS EN LA BASE DE DATOS.* A 'usuario'@'dirección_ip' IDENTIFICADO POR 'contraseña';
Para revocar los permisos de un usuario de una sola base de datos:
REVOCA TODOS LOS PRIVILEGIOS EN LA BASE DE DATOS.* DESDE 'usuario'@'dirección_ip';
Puede revocar todos los privilegios de usuario de cada base de datos de la siguiente manera:
REVOCA TODOS LOS PRIVILEGIOS, OTORGA LA OPCIÓN DE 'usuario'@'dirección_ip';
Finalmente, puede establecer contraseñas como esta:
ESTABLECER CONTRASEÑA PARA 'usuario'@'dirección_ip' = CONTRASEÑA('nueva_contraseña');
Tenga en cuenta el uso de la función CONTRASEÑA que hash 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:
CREAR BASE DE DATOS nombre_base_datos;
Puede cambiar la base de datos actual a otra con la que desee trabajar:
USE nombre_base_de_datos;
Por último, puede eliminar una base de datos completa junto con sus tablas de la siguiente manera:
DROP DATABASE base de datos_nombre;
Trabajar con tablas
Una mesa es el principal elemento estructural de un 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 nombre_tabla (columna_1 tipo_datos1, columna_2 tipo_datos2);
También puede crear una nueva tabla a partir de una tabla existente seleccionando columnas específicas de la siguiente manera:
CREAR TABLA new_table_name COMO SELECCIONAR column_1, column_2 FROMexistent_table_name;
Puede agregar datos a una tabla usando el siguiente comando:
INSERTAR EN nombre_tabla (columna_1, columna_2) VALORES (valor_1, valor_2);
Para eliminar una tabla, use la declaración DROP TABLE de la siguiente manera:
DROP TABLE nombre_tabla;
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:
MOSTRAR BASES DE DATOS;
De manera similar, puede enumerar todas las tablas en la base de datos actual:
MOSTRAR TABLAS;
Para ver todas las columnas dentro de una tabla:
DESCRIBE nombre_tabla;
Para mostrar información de columna dentro de una tabla:
DESCRIBE table_name column_name;
Consultar bases de datos
MySQL le permite utilizar un SELECCIONE instrucción 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:
SELECCIONE columna1, columna2 DESDE table_name;
O mostrar todas las columnas de la siguiente manera:
SELECCIONE * DESDE table_name;
También puede consultar bases de datos/tablas y recuperar información usando condiciones de la siguiente manera:
SELECCIONE columna1, columna2 DESDE table_name DONDE condición;
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 Clientes 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 Ciudad de un solo registro donde el ID de usuario es 2:
ACTUALIZAR Usuarios SET UserName = 'Alfred James', City= 'Munich' WHERE UserID = 2;
Si bien este ejemplo actualiza todos Nombre de usuarios para todos los registros donde el Ciudad es Munich:
UPDATE Usuarios 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.
Proteja su servidor de base de datos MySQL siguiendo estos sencillos consejos.
Leer siguiente
- Programación
- base de datos
- sql
Rumaisa es escritora independiente en MUO. Ha desempeñado muchas funciones, desde matemática hasta entusiasta de la seguridad de la información, y ahora trabaja como analista de SOC. Sus intereses incluyen leer y escribir sobre nuevas tecnologías, distribuciones de Linux y todo lo relacionado con la seguridad de la información.
Suscríbete a nuestro boletín
¡Únase a nuestro boletín para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!
Haga clic aquí para suscribirse