Está en la página 1de 8

Lenguaje MYSQL Resumen

/*crear base de datos*/


create database prueba;

/*cambiar de base de datos en uso*/


use prueba;

/*crear tabla y darle caracteristicas*/


create table tabla1 (

idtabla1 int PRIMARY KEY AUTO_INCREMENT, campo1 varchar(20) NOT NULL,


campo2 float);

/* añadir caracteristica a la tabla*/


alter table tabla1 add constraint primary key (idtabla1);

/*añadir campo a la tabla*/


ALTER table tabla1 add column campo3 date;

/*borrar campo*/
alter table tabla1 drop campo3 ;

/* modificar caracteristica de un campo*/


alter table tabla1 modify campo1 varchar(30);

alter table tabla1 change campo2 campo22 varchar(30);


/*crear tabla con indice*/
create table tabla2 (idtabla2 int primary key auto_increment,

campo1 float unique,

campo2 varchar (30),

campo3 date,

constraint indice2 unique (campo2));

/* crear indice*/
create unique index indice3 on tabla2 (campo2, campo3);

/*creo tabla3 para ver como se modifica*/


create table tabla3 (idtabla3 int , campo1 int );

alter table tabla3

add constraint primary key (idtabla3);

alter table tabla3 modify idtabla3 int auto_increment;

/*añadir foreign key*/


alter table tabla3

add constraint fktabla3tabla2 foreign key (campo1)

references tabla2 (idtabla2);

/* crear tabla y el foreign key de una sola vez*/


create table tabla4 (

idtabla4 int primary key auto_increment,

campo1 int,

constraint fktabla4tabla1 foreign key (campo1)

references tabla1 (idtabla1) on update cascade);


/* añadir registro a la tabla, en los campos*/
insert into tabla1 (campo1, campo22)

values ("aaaaa", 25);

insert into tabla2 (campo1, campo2, campo3)

values (10.2, "bbb", "2019-10-11");

/*creamos la tabla , asignamos las keys y establecemos las


relaciones foraneas*/
create table compras (

cod_pelicula int ,

DNI_cliente varchar(9),

fecha_compra date ,

PRIMARY KEY (cod_pelicula, DNI_cliente, fecha_compra),

constraint fkcompraspeliculas foreign key(cod_pelicula)

references peliculas (cod_pelicula) on update cascade on delete cascade,

constraint fkcomprasclientes foreign key(DNI_cliente)

references clientes (DNI_cliente)

on update cascade on delete cascade );

/* para que se autoincremente la id, hay que omitirla en los


campos del insert into, asi lo hace el por defecto)*/
insert into institutos ( nombre, direccion, poblacion ,num_plazas ,tipo ) values ( 'san antonio',
'calle valiz', 'madrid', 9, 1);

insert into institutos ( nombre, direccion, poblacion ,num_plazas ) values ( 'san miguel', 'calle
valiza', 'madrid', 9);

insert into institutos ( nombre, direccion, num_plazas ,tipo ) values ('san antonio', 'calle
unamuno', 15, 0);
/* creo una tabla con tres primary key*/
create table articulos (

cod_articulo int,

cod_fabricante int ,

peso int,

categoria varchar (45) ,

precio_venta int,

preciocosto int,

PRIMARY KEY (cod_articulo, cod_fabricante, categoria) );

/*crear una clave foranea*/


alter table articulos add constraint fk foreign key(cod_fabricante)

references fabricantes (cod_fabricante) on update cascade on delete cascade;

/* para crear opciones a restringir*/


alter table pacientes add column sexo enum ('hombre','mujer');

/*PARA USAR DATOS DE 2 TABLAS*/


select apellido, idnombre from emple, depart

where emple.dep_no=depart.dept_no;

/*PARA CONSULTAS MAS COMPLEJAS DE 2 TABLAS*/


select apellido, idnombre from emple inner join depart on emple.dept_no=depart.dept_no;

/*PARA CONSULTAS MAS COMPLEJAS DE 2 TABLAS,


pero mostrando todos los empleados, aunque no tengan
departamento*/
select apellido, idnombre from emple left join depart on emple.dept_no=depart.dept_no;
/*PARA CONSULTAS MAS COMPLEJAS DE 2 TABLAS,
pero mostrando todos los departamentos aunque no tengan
empleados*/
select apellido, idnombre from emple left join depart on emple.dept_no=depart.dept_no;

select FUNCION, max(salario) FROM PERSONAS

group by funcion

having max(salario)>2000;

select apellidos, salario from personas

where salario>(select avg(salario) from personas);

select apellidos, salario from personas

where salario > all (select salario from personas where localidad='MURCIA');

select apellidos, salario from personas

where salario > (select max(salario) from personas where localidad='MURCIA');

use sencillasi;

select apellido, dnombre from emple, depart

where emple.dept_no=depart.dept_no;

select apellido, dnombre from emple inner join depart

on emple.dept_no=depart.dept_no;

select apellido, dnombre from emple inner join depart

using (dept_no);

/* Crea nueva tabla */


create table tabla1 (primary key (dorsal))

select * from ciclista where edad<20;

/* Añade datos a la tabla1 */


insert into tabla1

select * from ciclista where edad>20;

insert into tabla1 (nombre, edad, nomeq)

values ("pepito",23,"AAAA");

/* Borrar datos de la tabla */

delete from tabla1 where edad>30;


/* Borrar todos los datos de la tabla */
delete from tabla1;

truncate tabla1;

/* Modificar datos de la tabla */


update tabla1 set nomeq="BBBB" where dorsal=1;

update tabla1 set nomeq="BBBB"

where nomeq="Amore Vita";

/*transacciones*/
begin;

update tabla1 set nomeq="Amore Vita"

where nomeq="BBBB";

select * from tabla1;

rollback;

create table tabla2

select * from complejasiii.depart;

/* con esta orden creas una tabla nueva con los datos de una
consulta*/

create table tabla

select campos from tabla ;

/*ejemplo*/

create table tabla1 (primary key (pepito))

select dorsal as pepito,nombre from ciclista where edad <20;

/*crear una tabla clonada de otra, pero vacia de registros*/


create table tabla1 like tabla2;

/*añade datos a la tabla desde un select*/


insert into tabla1

select dorsal as pepito,nombre from ciclista where edad>20;


/*borrar datos de la tabla*/
delete from tabla

where edad<30;/*se pueden poner condiciones*/

/*borrar y reiniciar una tabla como nueva*/


truncate table tabla1;

truncate tabla1;

/*modificar datos de la tabla*/


update tabla1 set nombre='perico delgado' where pepito=2; /*se usa un where con el campo
clave*/

update tabla1 set pepito=99 where pepito=2;

/*aqui comprobamos una operacion antes de ejecutar*/


start transaction;

update tabla1 set nombre='miguelon' where pepito=1;

select * from tabla1;/*compruebas que este bien */

rollback;/*si esta mal, lo deshaces con esto*/

commit;/*si esta bien, lo ejecutas*/

/*Crear funciones y procedimientos en SQL*/


/*las funciones se invocan con un select o un update, mientras que el
procedimiento con un call*/
/*las funciones devuelven valores*/

/* Asi se crea una funcion */


DELIMITER //

CREATE FUNCTION ejemploFuncion() RETURNS VARCHAR(20) DETERMINISTIC

BEGIN

RETURN 'Ejemplo';

END

//

select ejemploFuncion();/* usar la funcion*/


/*asi se crea un procediminto*/

DELIMITER $$

CREATE PROCEDURE ejemploProcedimiento()

BEGIN

SELECT idEjemplo,nombreEjemplo

FROM tablaEjemplo;

END$$

DELIMITER ;

call ejemploProcedimiento();/* usar el procedimiento*/

También podría gustarte