Asir
DDL
Línea de comandos:
Iniciar: mysql -u user -p Ejecutar un fichero bach. mysql -u user -p < batch_file
name VARCHAR(20) NOT NULL AUTO_INCREMENT PRIMARY KEY, sex CHAR(1), birth DATE, age INT(2), raza ENUM('salchicha','pastor alemán') );
character_set_server='latin1'; Cambiar la colación en el MySQL (global): SET GLOBALcollation_server='latin1_spanish_ci'; Crear una BD con un juego de caracteres y colación determinados: CREATE DATABASE hipermercado CHARACTER SET latin1 COLLATE latin1_spanish_ci; Modificar una BD con un juego de caracteres y colación determinados: ALTER DATABASE hipermercado CHARACTER SET latin1 COLLATE latin1_spanish_ci;
Cambiar Sistema de almacenamiento
ALTER TABLE clientes ENGINE MyISAM;
Crear unacopia de seguridad de una BD.
mysqldump --opt -u username -p database > database_backup.sql mysqldump --opt all_backup.sql --all-databases >
Insertar/Modificar/eliminar campos:
Añadir una columna: ALTER TABLE clientes ADD COLUMN direccion VARCHAR(40) AFTER apellido2; Modificar una columna: ALTER TABLE clientes CHANGE dni nif VARCHAR(10); Eliminar una columna: ALTER TABLE clientes DROP COLUMNdni;
Borrar BD, Tablas y campos
Eliminar DB: DROP DATABASE nombre_bd; Eliminar TABLA: DROP TABLA nombre_tabla; Eliminar un campo: ALTER TABLE tbl DROP COLUMN col;
Mostrar Información de Tablas y BD
Seleccionar una BD: USE database; Listar las BD existentes: SHOW DATABASES; Mostrar las tablas de una BD: SHOW TABLES; Mostrar/Describir el formato/diseño de una tabla: DESCRIBE table;
Juegosde Caracteres Y colaciones:
Consultar juego de caracteres: SHOW GLOBAL VARIABLES 'character_set_server'; Consultar colación: SHOW GLOBAL 'collation_server'; Cambiar juego (Global): SET de VARIABLES caracteres en LIKE
Cambiar Nombre a Tabla y a Campo.
RENAME TABLE clientes TO clientes2009; ALTER TABLE clientes CHANGE dni nif VARCHAR(10);
Crear BD y Tablas
Crear una BD: CREATE DATABASEdb_name; Crear una tabla: cREATE TABLE pet (
LIKE MySQL GLOBAL
Crear/Eliminar llave primaria y ajena.
//Crear Llave primaria
1 de 4
CHULETA MySQL v2.3. Marzo2008. Felipe J. Romero
ALTER TABLE jugadores ADD PRIMARY KEY (id_equipo); //Crear Llave ajena ALTER TABLE jugadores ADD FOREIGN KEY (id_equipo) REFERENCES equipo(id_equipo); //Eliminar Llave primaria. ALTER TABLE nombretabla DROPPRIMARY KEY; //Eliminar llave ajena. ALTER TABLE nombretabla DROP FOREIGN KEY nombre_fk; mysql> LOAD DATA LOCAL INFILE "infile.txt" INTO TABLE table; WHERE (Porcentaje>50.0); Suma: SELECT SUM(Superficie) AS superficietotal FROM paises;
Actualizar datos.
UPDATE clientes SET dni = '2603232' WHERE nombre ="Pedro" AND ape1='Pérez';
Union
//Crea una unión con las filas de las dos tablas (han decoincidir las columnas). TABLE UNION TABLE ORDER jugadores_nuevos ALL jugadores_antiguos BY nombre_jugador;
Eliminar Datos
DELETE FROM clientes where sexo='v'; //Borra todos los datos. TRUNCATE TABLE clientes;
DML
TRABAJAR CON DATOS
Cargar/Insertar datos
Cargar datos de un fichero TABULADO: LOAD DATA LOCAL INFILE "fichero.txt" INTO TABLE table_name; (Use \n for NULL) Insertar unregistro: INSERT INTO clientes VALUES ('Pío Pérez', 'Gran Plaza 12', '2002-08-31',NULL); Reloading a new data set into existing table: mysql> SET AUTOCOMMIT=1; # used for quick recreation of table mysql> DELETE FROM pet;
DML
CONSULTAS
Funciones
Valor máximo y mínimo: SELECT MAX(edad) AS edad_maxima FROM alumnos; SELECT MIN(edad) AS edad_mInima FROM alumnos; Contar columnas: SELECT COUNT(*) FROMclientes; //Media: media de los porcentajes de aquellas lenguas cuyo porcentaje supere el 50%. SELECT AVG(Porcentaje) AS mediaporcentaje FROM lenguas
//Unión de select: SELECT nombre_alumn FROM curso0708 WHERE ciclo='ESI' UNION SELECT nombre_alumn FROM curso0809 WHERE ciclo='ESI';
Múltiples tablas
Producto cartesiano SELECT nombre_equipo, COUNT(id_jugador) FROM jugadores, equipos WHERE...
Regístrate para leer el documento completo.