domingo, 27 de mayo de 2018

Sql

create database pruebaBD;

use pruebaBD;

create table persona(
doc_persona int not null primary key,
nombre varchar(45) not null,
apellido varchar(45) not null,
edad int
);

create table telefonos(
id_telefono int not null auto_increment primary key,
telefono int not null
);

alter table telefonos
add column doc_persona int not null,
add constraint fk_persona foreign key (doc_persona) references persona(doc_persona);


INSERT

-- muestro las columnas de la table categoria
show columns from categoria;

-- muestro los datos que tiene esa categoria
select * from categoria;

-- inserto un dato en categoria dandole valor a cada campo
insert into categoria values(null,'bebidas');

-- inserto un dato a categoria espeficando columna en la cual voy agregar el valor.
insert into categoria(nombre) values('aceites');

-- inserto multiples datos a la tabla
insert into categoria (nombre) values('detergentes'),('dulce'),('frituras');

-- otra forma de insertar datos
insert into categoria set nombre = "categoria";



show columns from productos;

insert into productos (nombre, precio, idcategoria) values ('Refresco','8.500','1');

insert into productos (nombre, precio, fecha_alta, idcategoria)
values ('paleta', 5, '2016-04-15', 1);

-- se inserta un dato con la fecha que tenga el servidor en ese momento.
insert into productos (nombre, precio, fecha_alta, idcategoria)
values ('helado', 5, curdate(), 1);

select * from productos;


CRENADO RELACIONES


create table categoria(
id int auto_increment primary key,
nombre varchar(50) not null
);


-- agreo una columna idcategoria en la tabla productos
alter table productos add column idcategoria int not null;


-- agrego la llave foranea de la tabla productos
alter table productos add
constraint fk_catPro foreign key (idcategoria) references categoria(id)
on update cascade
on delete cascade;

-- elimino la llave foranea de la tabla productos
alter table productos drop foreign key fk_catPro;

-- elimino la columna idcategoria de la tabla productos
alter table productos drop column idcategoria;

-- creo la tabla proveedores
create table proveedores(
id int auto_increment not null primary key,
nombre varchar(45) not null
);

-- creo la relacion de muchos a muchos
create table detalle_producto_proveedor(
id int not null auto_increment primary key,
idproducto int not null,
idproveedor int not null,
constraint pk_prov foreign key (idproveedor) references proveedores(id)
on update cascade
on delete cascade,
constraint pk_prod foreign key (idproducto) references productos(idproducto)
on update cascade
on delete cascade
);


OPERADORES

select * from productos where idCategoria=1 and precio=10; -- hago una consulta filtrando mas de dos campos

select * from productos where idCategoria=1 or precio=10;  -- hago una consulta diciendo que si la categoria es 1 o el precio sea 10

select * from productos where precio is null; -- llamo a todos los datos del campon precio que sean igual a null

select * from productos where precio is not null; -- llamo a todos los datos del campo precio que no esten null

select * from productos where precio between 5 and 10; -- busco en el campo precio en el rango de 5 a 10

select * from productos where precio not between 5 and 10; -- busco todos los datos que no se encuentra en el rango de 5 a 10

select * from productos where precio in(5,6,7,8,9,10); -- hago un listado de los datos que voy a buscar en precio

select * from productos where precio not in(5,6,7,8,9,10); -- busco datos en el campo precio y especifico que datos no me busque

select * from productos where fecha_alta between"2015-01-01" and curdate();

select * from productos where nombre like "Limonada"; -- like se utiliza para comprar cadenas de testo

select * from productos where nombre like "Limon%"; -- busco dentro del campo nombre todos los datos que contegan limon al final

select * from productos where nombre like "%Limon"; -- busco dentro del campo nombre todos los datos que contegan limon al inicio

select * from productos where nombre like "%Limon%"; -- busco dentro del campo nombre todos los datos que contegan la palabra limon

-- hago una consulta con varias restricciones
select * from productos where idCategoria=2 and precio>10 and existencia between 5 and 20 and fecha_alta is not null;


select * from productos where idCategoria in(select id from categoria where id>2); -- genero una sub consulta


CONSULTAS BÁSICAS


SELECT * FROM categoria limit 5;
SELECT * FROM categoria limit 3,10;

select * from productos order by nombre asc;

select nombre from categoria;

SELECT * FROM productos;

select nombre,precio,existencia from productos;

select nombre as Nombre,precio as Precio,existencia from productos;


select nombre as Nombre,precio as Precio,existencia from productos where existencia=50;


select count(idProducto) as Cantidad, idCategoria from productos group by idcategoria;



select min(existencia) as Menor_Existencia, max(existencia) as Maxima_Existe, idcategoria from productos group by idCategoria;

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...

Anuncio