Comandos fáciles para MySQL

Como no puede ser de otra manera, en Comando IT os traigo un par de comandos de MySQL, por si justo no os acordáis de como era exactamente la hora de ponerte con el marrón de turno.

Os va a gustar tener esta lista cerca.

 

Crear una base de datos

create database tu_base_de_datos;

Mostrar todas las bases de datos en el servidor

show databases;

Cambiar de una base de datos a otra

use tu_base_de_datos;

Mostrar todas las tablas de una base de datos

show tables;

Mostrar los formatos de campo de la base de datos

describe nombre_de_tu_tabla;

Eliminar una base de datos

drop database tu_base_de_datos;

Eliminar una tabla de base de datos

drop table nombre_de_tu_tabla;

Devolver todos los registros de una tabla

SELECT * FROM nombre_de_tu_tabla;

Devolver las columnas y la información de la columna correspondiente a la tabla designada

show columns from nombre_de_tu_tabla;

Mostrar filas seleccionadas con el valor «whatever»

 SELECT * FROM [nombre_de_tu_tabla] WHERE [field nombre_de_tu_fila] = «whatever»;

Mostrar todos los registros que contengan el nombre «Paco» y el número de móvil ‘600’

SELECT * FROM [table name] WHERE name = «Paco» AND numero_movil = ‘600’;

Mostrar todos los registros que contienen el nombre «Paco» y el número de móvil ‘600’ ordenados por el campo de «número de móvil»

SELECT * FROM [table name] WHERE name != «Paco» AND numero_movil = ‘600’ order by numero_movil;

Mostrar todos los registros que empiezan con la palabra ‘P’ y el número de móvil ‘600’

SELECT * FROM [table name] WHERE name like «P%» AND numero_movil = ‘600’;

Utilizar una expresión regular para encontrar registros. Utilizar «regexp binary» para usar la sensibilidad a las mayúsculas. Con esto aparece cualquier registro que comienza con «b»

SELECT * FROM [table nombre_de_tu_tabla] WHERE rec RLIKE «^b$»;

Mostrar registros únicos

SELECT DISTINCT [column nombre_de_tu_columna] FROM [table nombre_de_tu_tabla];

Mostrar los registros seleccionados de forma ordenada en ascendente (asc) o descendente (desc)

SELECT [col3],[col4] FROM [table nombre_de_tu_tabla] ORDER BY [col3] DESC;

Devolver un número de filas

SELECT COUNT(*) FROM [table nombre_de_tu_tabla];

Sumar el contenido de la columna

SELECT SUM(*) FROM [table nombre_de_tu_tabla];

Cambiar la contraseña de un usuario desde terminal de Linux

comandoit@comandoit:~# mysql -u root -h servidor_mysql.com -p password ‘nueva_contraseña’

Cambiar la contraseña de un usuario desde MySQL

SET PASSWORD FOR ‘paco’@’hostname’ = PASSWORD(‘nueva_contraseña’);

Dar permiso a un usuario «Paco» se conecte al servidor localhost usando la contraseña «contraseña»

grant usage on *.* to Paco@localhost identified by ‘contraseña’;

Dar permisos de usuario para utilizar una base de datos

grant all privileges on tu_base_de_datos.* to paco@localhost;

Actualizar datos en una tabla

UPDATE [table nombre_de_tu_tabla] SET Select_priv = ‘Y’,Insert_priv = ‘Y’,Update_priv = ‘Y’ where [field nombre_de_tu_fila] = ‘user

Eliminar filas de una tabla

DELETE from [table nombre_de_tu_table] where [field nombre_de_tu_fila] = ‘whatever’;

Actualizar base de datos cuando se modifican permisos o privilegios

FLUSH PRIVILEGES;

Eliminar una columna

alter table [table nombre_de_tu_tabla] drop column [column nombre_de_tu_comlumna];

Agregar una nueva columna en la base de datos

alter table [table nombre_de_tu_tabla] add column [nombre_de_tu_columna] varchar (20);

Cambiar el nombre de una columna

alter table [nombre_de_tu_tabla] change [antigua_nombre_columna] [nombre_de_tu_nueva_columna ] varchar (50);

Crear una columna única

alter table [nombre_de_tu_tabla] add unique ([nombre_de_tu_nueva_columna]);

Hacer una columna mas grande

alter table [nombre_de_tu_tabla] modify [nombre_de_tu_columna] VARCHAR(3);

Eliminar una columna única de una tabla

alter table [nombre_de_tu_tabla] drop index [nombre_de_tu_columna];

Cargar un archivo CSV dentro de una tabla

LOAD DATA INFILE ‘/Descargas/Archivo.csv’ replace INTO TABLE [nombre_de_tu_tabla] FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘n’ (field1,field2,field3);

Hacer una copia de seguridad de todas las bases de datos.

comandoit@comandoit:~# mysqldump -u root -p –opt >/Backups/alldatabases.sql

Hacer una copia de seguridad de una base de datos

comandoit@comandoit:~# mysqldump -u username -ppassword –databases basededatos >/Backups/databasename.sql

Hacer copia una tabla de una base de datos

comandoit@comandoit:~# mysqldump -c -u username -p base_de_datos tablename > /Descargas/base_de_datos.nombre_de_la_tabla.sql

Restaurar una base de datos o tabla de un backup

comandoit@comandoit:~# mysql -u username -p databasename < /Descargas/backup.sql

Un poco lo largo, pero merece la pena.