Seleccionar una base de datos:
mysql> USE database;
Listar las base de datos:
mysql> SHOW DATABASES;
Listar las tablas en una base de datos:
mysql> SHOW TABLES;
Describe el formato de la tabla:
mysql> DESCRIBE table;
Crear una base de datos:
mysql> CREATE DATABASE db_name;
Crear una tabla:
mysql> CREATE TABLE table_name (field1_name TYPE(SIZE), field2_name TYPE(SIZE));
ejemplo: mysql> CREATE TABLE pet (name VARCHAR(20), sex CHAR(1), birth DATE);
Cargar datos desde un archivo de texto delimitados por tabulación a una tabla:
mysql> LOAD DATA LOCAL INFILE "infile.txt" INTO TABLE table_name;
(Utiliza \\n para datos NULL)
Insertar una fila a a vez:
mysql> INSERT INTO table_name VALUES (\'MyName\', \'MyOwner\', \'2002-08-31\');
(Utiliza NULL para datos NULL)
Recibir información (general):
mysql> SELECT from_columns FROM table WHERE conditions;
Todos los valores: SELECT * FROM table;
Algunos valores: SELECT * FROM table WHERE rec_name = "value";
Múltiples criterios: SELECT * FROM TABLE WHERE rec1 = "value1" AND rec2 = "value2";
Volver a cargar datos nuevos dentro de una tabla existente:
mysql> SET AUTOCOMMIT=1;
# Utilizado para una recreación rápida de la tabla
mysql> DELETE FROM pet;
mysql> LOAD DATA LOCAL INFILE "infile.txt" INTO TABLE table;
Reparar todos los registros con cierto valor:
mysql> UPDATE table SET column_name = "new_value" WHERE record_name = "value";
Seleccionar columnas específicas:
mysql> SELECT column_name FROM table;
Recibir una única salida de registros:
mysql> SELECT DISTINCT column_name FROM table;
Ordenar:
mysql> SELECT col1, col2 FROM table ORDER BY col2;
Al revés: SELECT col1, col2 FROM table ORDER BY col2 DESC;
Cálculos con fechas:
mysql> SELECT CURRENT_DATE, (YEAR(CURRENT_DATE)-YEAR(date_col)) AS time_diff [FROM table];
MONTH(some_date) extracts the month value and DAYOFMONTH() extracts day.
Coincidencias con patrones (búsquedas):
mysql> SELECT * FROM table WHERE rec LIKE "blah%";
(% es un comodín)
Buscar valores de 5 caracteres: SELECT * FROM table WHERE rec like "_____";
(_ es un simple caracter)
Coincidencias con expresiones regulares:
mysql> SELECT * FROM table WHERE rec RLIKE "^b$";
(. para caracteres, […] para una clase de caracteres, * para 0 más instancias
^ para el inicio, {n} para repetir n veces, y $ para el fin)
(RLIKE o REGEXP)
Para forzar la sensiblidad de mayúsculas y minúsculas utiliza «REGEXP BINARY»
Contar filas:
mysql> SELECT COUNT(*) FROM table;
Agrupar con contador:
mysql> SELECT owner, COUNT(*) FROM table GROUP BY owner;
Seleccionar desde múltiples tablas:
(Ejemplo)
mysql> SELECT pet.name, comment FROM pet, event WHERE pet.name = event.name;
(Puedes juntar una tabla a si misma para ahcer comparaciones utilizando \’AS\’)
Base de datos seleccionada actualmente:
mysql> SELECT DATABASE();
Valor máximo:
mysql> SELECT MAX(col_name) AS label FROM table;
Filas auto-incremetables:
mysql> CREATE TABLE table (number INT NOT NULL AUTO_INCREMENT, name CHAR(10) NOT NULL);
mysql> INSERT INTO table (name) VALUES ("tom"),("dick"),("harry");
Agregar un acolumna a todas las tablas creadas actualmente:
mysql> ALTER TABLE tbl ADD COLUMN [column_create syntax] AFTER col_name;
Eliminar una columna:
mysql> ALTER TABLE tbl DROP COLUMN col;
(La sintaxis completa de ALTER TABLE está disponible en mysql.com.)
Modo «Batch»:
# mysql -u user -p < batch_file
(Utiliza -t para ver la tablas más amigables y -vvv para ver los comandos.)
Alternativamente: mysql> source batch_file;
Hacer un respaldo de una base de datos con mysqldump:
# mysqldump --opt -u username -p database > database_backup.sql
(Utilza \’mysqldump –opt –all-databases > all_backup.sql\’ para respaldar todo.)
(Más información en la documentación de MySQL.)
Vía: Neal Parikh