ChuletaMySQL2 3

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

CHULETA MySQL v2.3. Marzo2008. Felipe J.

Romero

DDL
name VARCHAR(20) NOT NULL AUTO_INCREMENT character_set_server='latin1';
PRIMARY KEY,
Cambiar la colacin en el MySQL
sex CHAR(1),
(global):
Lnea de comandos: birth DATE, SET GLOBAL
age INT(2), collation_server='latin1_spanish_ci';
Iniciar: raza ENUM('salchicha','pastor alemn')
mysql -u user -p ); Crear una BD con un juego de caracteres
Ejecutar un fichero bach. y colacin determinados:
Cambiar Sistema de almacenamiento CREATE DATABASE hipermercado
mysql -u user -p < batch_file
ALTER TABLE clientes CHARACTER SET latin1
ENGINE MyISAM; COLLATE latin1_spanish_ci;
Crear una copia de seguridad de
una BD. Modificar una BD con un juego de
Insertar/Modificar/eliminar caracteres y colacin determinados:
mysqldump --opt -u username -p database campos: ALTER DATABASE hipermercado
> database_backup.sql CHARACTER SET latin1
Aadir una columna:
ALTER TABLE clientes COLLATE latin1_spanish_ci;
mysqldump --opt --all-databases >
all_backup.sql ADD COLUMN direccion VARCHAR(40)
AFTER apellido2; Borrar BD, Tablas y campos
Mostrar Informacin de Tablas y BD Modificar una columna: Eliminar DB:
ALTER TABLE clientes DROP DATABASE nombre_bd;
Seleccionar una BD: CHANGE dni nif VARCHAR(10);
USE database; Eliminar TABLA:
Eliminar una columna: DROP TABLA nombre_tabla;
Listar las BD existentes: ALTER TABLE clientes
SHOW DATABASES; DROP COLUMN dni; Eliminar un campo:
Mostrar las tablas de una BD: ALTER TABLE tbl DROP COLUMN col;
SHOW TABLES; Juegos de Caracteres Y colaciones:
Mostrar/Describir el formato/diseo de Consultar juego de caracteres: Cambiar Nombre a Tabla y a Campo.
una tabla: SHOW GLOBAL VARIABLES LIKE
DESCRIBE table; RENAME TABLE clientes TO clientes2009;
'character_set_server';
ALTER TABLE clientes
Consultar colacin:
Crear BD y Tablas SHOW GLOBAL VARIABLES LIKE CHANGE dni nif VARCHAR(10);
Crear una BD: 'collation_server';
CREATE DATABASE db_name; Cambiar juego de caracteres en MySQL Crear/Eliminar llave primaria y
Crear una tabla: (Global): ajena.
cREATE TABLE pet ( SET GLOBAL //Crear Llave primaria

1 de 4
CHULETA MySQL v2.3. Marzo2008. Felipe J. Romero

ALTER TABLE jugadores mysql> LOAD DATA LOCAL INFILE WHERE (Porcentaje>50.0);
ADD PRIMARY KEY (id_equipo); "infile.txt" INTO TABLE table;
Suma:
//Crear Llave ajena SELECT SUM(Superficie) AS
ALTER TABLE jugadores Actualizar datos. superficietotal
ADD FOREIGN KEY (id_equipo) UPDATE clientes FROM paises;
REFERENCES equipo(id_equipo); SET dni = '2603232'
WHERE nombre ="Pedro" AND ape1='Prez'; Union
//Eliminar Llave primaria.
ALTER TABLE nombretabla //Crea una unin con las filas de las
DROP PRIMARY KEY;
Eliminar Datos dos tablas (han de coincidir las
DELETE FROM clientes columnas).
//Eliminar llave ajena. where sexo='v';
ALTER TABLE nombretabla
//Borra todos los datos. TABLE jugadores_nuevos
DROP FOREIGN KEY nombre_fk;
TRUNCATE TABLE clientes; UNION ALL
TABLE jugadores_antiguos

DML
ORDER BY nombre_jugador;

DML //Unin de select:


SELECT nombre_alumn

TRABAJAR CON CONSULTAS


FROM curso0708
WHERE ciclo='ESI'
UNION
DATOS Funciones
SELECT nombre_alumn
FROM curso0809
Cargar/Insertar datos WHERE ciclo='ESI';
Valor mximo y mnimo:
Cargar datos de un fichero TABULADO: SELECT MAX(edad) AS edad_maxima
FROM alumnos; Mltiples tablas
LOAD DATA LOCAL INFILE "fichero.txt"
INTO TABLE table_name; Producto cartesiano
SELECT MIN(edad) AS edad_mInima SELECT nombre_equipo, COUNT(id_jugador)
(Use \n for NULL) FROM alumnos; FROM jugadores, equipos
Insertar un registro: Contar columnas: WHERE
INSERT INTO clientes jugadores.id_equipo=equipos.id_equipo;
VALUES ('Po Prez', 'Gran Plaza 12', SELECT COUNT(*)
'2002-08-31',NULL); FROM clientes; INNER JOIN
//Media: media de los porcentajes de //Similar al producto cartesiano, pero ms
Reloading a new data set into existing rpido si las columnas de emparejamiento
aquellas lenguas cuyo porcentaje supere
table: estn indexadas.
el 50%.
SELECT AVG(Porcentaje) AS SELECT nombre_equipo, COUNT(id_jugador)
mysql> SET AUTOCOMMIT=1; # used for
mediaporcentaje FROM jugadores INNER JOIN equipos
quick recreation of table
FROM lenguas ON jugadores.id_equipo=equipos.id_equipo;
mysql> DELETE FROM pet;

2 de 4
CHULETA MySQL v2.3. Marzo2008. Felipe J. Romero

LEFT JOIN subconsulta.


//Aparecen todos los registros de la tabla Subconsultas con ANY, IN y SOME SELECT AVG(porcentmayor)
izquierda (todos los jugadores), aunque no FROM (SELECT Porcentaje AS porcentmayor
se correspondan con ningn registro de la //ANY o IN (ALIAS): es true si la
condicin se cumple con cualquiera de FROM lenguas
derecha (aunque no juegen en ningn equipo). WHERE Porcentaje>50.0);
los valores de la subconsulta.
SELECT * SELECT s1
FROM jugadores LEFT JOIN equipos FROM t1 Ordenar Registros
ON jugadores.id_equipo = equipos.id_equipo; WHERE s1 > ANY (SELECT s1 FROM t2); Ordenar:
RIGHT JOIN SELECT nombre, edad FROM amigos ORDER BY
//Aparecen todos los registros de la tabla //ALL: es true si la condicin se cumple edad DESC;
derecha (todos los equipos), aunque no se con todos los valores devueltos por la
correspondan con ningn registro de la subconsulta.
izquierda (aunque no tengan ningn jugador).
SELECT s1 Clculos con fechas:
FROM t1 SELECT CURRENT_DATE,
SELECT * (YEAR(CURRENT_DATE)-YEAR(fechanac)) AS
FROM empleados RIGHT JOIN oficinas WHERE s1 > ALL (SELECT s1 FROM t2); time_diff
ON empleados.oficina = oficinas.oficina; FROM amigos;
Subconsultas con EXISTS y NOT
Seleccionar Registros distintos EXISTS Seleccin con caracteres comodn:
(DISTINCT) SELECT *
//Qu pas tiene una o ms ciudades. FROM clientes
SELECT (general): SELECT DISTINCT nombre WHERE nombre LIKE "Jua%";
SELECT dni,nombre FROM paises
FROM clientes WHERE EXISTS
( SELECT *
Agrupamientos (group by)
WHERE dni='22234432' OR 'dni=25343234';
FROM ciudades SELECT id_equipo, COUNT(*)
WHERE FROM jugadores
SELECT * FROM pedidos; ciudades.Cod_pais=paises.Cod_pais); GROUP BY id_equipo;
Listado de todos los nombres de clientes //Qu pas NO tiene una o ms ciudades.
distintos:
SELECT DISTINCT nombre FROM clientes; SELECT DISTINCT nombre Condiciones con HAVING
FROM paises SELECT id_proveedor, MAX(precio_compra)
WHERE NOT EXISTS FROM compras
Subconsultas ( SELECT * GROUP BY id_proveedor
SELECT nombre_equipo FROM ciudades HAVING MAX(precio_compra)>100;
FROM equipos WHERE
WHERE (id_equipo= ciudades.Cod_pais=paises.Cod_pais);
(SELECT DISTINCT id_equipo
FROM jugadores
WHERE numero_goles>0) Subconsultas en FROM
); //Es obligatorio el AS dentro de la

3 de 4
CHULETA MySQL v2.3. Marzo2008. Felipe J. Romero

TIPOS DE VarChar(n)
bytes)
Longitud variable.
De 0 a 255 caracteres.

DATOS TinyText
TinyBlob
(n+1 bytes)
Mx 255 char.
Mx. 255 bytes
TINYINT 1 byte (binarios).
SMALLINT 2 bytes Text Mx. 65535 char.
MEDIUMINT 3 bytes Blob Mx. 65535 bytes (bin).
INT 4 bytes MediumText Mx. 16 Mill. char.
INTEGER 4 bytes MediumBlob Mx 16 Mill. bytes (bin)
BIGINT 8 bytes LongText Mx 4294 mill. Char.
FLOAT(X) 4 8 bytes LongBlob Mx 4294 mill. Bytes
FLOAT 4 bytes (bin).
DOUBLE 8 bytes
Enum Hasta 65535 valores.
DOUBLE PRECISION 8 bytes
Fruta ENUM
REAL 8 bytes ('limn','naranja');
DECIMAL(M,D) M+2 bytes s D > 0, Set puede contener ninguno, uno
M+1 bytes s D = 0 varios valores de una lista.
(Mx 64 valores).
NUMERIC(M,D) M+2 bytes if D > 0,
M+1 bytes if D = 0

Date FECHA (3 bytes)


DateTime FECHA Y HORA (8bytes)
TimeStamp FECHA Y HORA (4bytes)
Time HORA (3bytes)
Year AO (1901-2155) (1byte)

Char(n) Longitud fija.


De 0 a 255 caract. (n

4 de 4

También podría gustarte