Sei sulla pagina 1di 5

GUIA RAPIDA MYSQL

Seleccionar una base de datos: mysql> USE basededatos;

Mostrar las bases de datos existentes: mysql> SHOW DATABASES;

Mostrar las tablas de la base de datos seleccionada: mysql> SHOW TABLES;

Describir el formato de una tabla: mysql> DESCRIBE tabla;

Crear una base de datos: mysql> CREATE DATABASE nombre_basededatos;

Crear una tabla: mysql> CREATE TABLE nombre_tabla (nombre_campo1 TIPO(TAMAO), nombre_campo2 TIPO(TAMAO), ...);

Por ejemplo:

mysql> CREATE TABLE mascota (nombre VARCHAR(20), sexo CHAR(1), nacimiento DATE);

Cargar un archivo separado por tabs a la base de datos:

mysql> LOAD DATA LOCAL INFILE "archivo.txt" INTO TABLE nombre_tabla;

(Usar \n para representar un valor NULL)

Agregar una fila por vez mysql> INSERT INTO nombre_tabla VALUES ('Nombre', 'Dueo', '2006-05-23');

(Usar NULL para los valores NULL)

Obtener ifnormacin: mysql> SELECT columna1, columna2, ..., columna_n FROM tablas WHERE condiciones;

Toda la tabla: SELECT * FROM tabla; Algunos valores: SELECT * FROM tabla WHERE nombre_columna = "valor"; Varios filtros: SELECT * FROM tabla WHERE columna1 = "valor1" AND columna2 = "valor2";

Modificar un conjunto de registros (que concuerden con un filtro) mysql> UPDATE tabla SET nombre_columna = "nuevo_valor" WHERE nombre_columna = "valor_de_filtro";

Seleccionando slo una columna en especial: mysql> SELECT nombre_columna FROM tabla;

Obteniendo datos nicos/distintos/sin repetir: mysql> SELECT DISTINCT nombre_columna FROM tabla;

Ordenar los datos mysql> SELECT columna1, columna2, .... FROM tabla ORDER BY columna_n;

Orden inverso: SELECT columna1, columna2, .... FROM tabla ORDER BY columna_n DESC;

Clculo de fechas mysql> SELECT CURRENT_DATE, (YEAR(CURRENT_DATE)-YEAR(columna_de_fecha)) AS diferencia_de_fechas [FROM tabla];

MONTH(una_fecha) extrae el mes de la fecha especificada, DAYOFMONTH(fecha) el da.

Bsqueda de patrones (expresiones): mysql> SELECT * FROM tabla WHERE columna LIKE 'algo%';

% es el caracter de comodn que significa cualquier cantidad de caracteres

mysql> SELECT * FROM tabla WHERE columna LIKE '_____';

_ es el caracter de comodn que significa cualquier caracter (slo 1).

Bsqueda avanzada de expresiones regulares: mysql> SELECT * FROM tabla WHERE columna RLIKE '^b$';

. para un caracter [...] para un conjunto de caracteres * para 0 o ms caracteres

^ para el comienzo {n} para n repeticiones $ para el final Es vlido tanto para RLIKE como REGEXP. Sin embargo, para forzar la diferenciacin de maysculas de minsculas se recomendara usar REGEXP BINARY.

Contando filas: mysql> SELECT COUNT(*) FROM tabla;

Agrupar las cuentas mysql> SELECT columna, COUNT(*) FROM tabla GROUP BY columna;

GROUP BY agrupa todos los registros de cada valor distinto de la columna especificada

Filtrando varias columnas: mysql> SELECT tabla1.columna1, columna2 FROM tabla1, tabla2 WHERE tabla1.columna1 = tabla2.columna_n;

Se puede comparar una tabla consigo misma utilizando AS para darle un nuevo nombre a una columna.

Seleccionar la base de datos actual: mysql> SELECT DATABASE();

Calcular el mximo mysql> SELECT MAX(nombre_columna) AS nombre_nueva_columnal FROM tabla;

Columna auto-incrementada mysql> CREATE TABLE tabla (numero INT NOT NULL AUTO_INCREMENT, nombre CHAR(10) NOT NULL); mysql> INSERT INTO tabla (nombre) VALUES ("tomas"),("pedro"),("juan");

Agregando una columna a una tabla ya existente: mysql> ALTER TABLE tabla ADD COLUMN [sintaxis para una nueva columna] AFTER nombre_columna;

Borrando una columna: mysql> ALTER TABLE tabla DROP COLUMN nombre_columna;

Haciendo una copia de seguridad con mysqldump: # mysqldump --opt -u usario -p base_de_datos > respaldo.sql

Si se quiere hacer el respaldo de muchas bases de datos, hay que utilizar:

# mysqldump --opt --all-databases > respaldo_todo.sql

Potrebbero piacerti anche