Comandos SQL

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

PRODUCTO:

ITEM:CREATE TABLE ITEM (nfact int NOT NULL,codigoP int NOT NULL, cantidad float,
subtotal float, PRIMARY KEY (nfact,codigop),FOREIGN KEY(nfact),REFERENCES
FACTURA(nfact),FOREIGN KEY (codigoP),REFERENCES PRODCUTO(codigo);

FACTURA:CREATE TABLE FACTURA(nfact int NOT NULL,fecha date, ncliente int NOT NULL,
subtotal float, PRIMARY KEY (nfact));

CLIENTE

MODIFICAR TABLA: ALTER TABLE PRODUCTO ADD PRIMARY KEY(CODIGO);


ALTER TABLE FACTURA ADD Total Float;
BORRA TABLA:DROP TABLE

USUARIO:SYSDBA
CONTASEÑA:masterkey

EJERCICIO 24/10/2023

CREAR TABLAS

CREATE TABLE CLIENTE (NCLIE INTEGER NOT NULL, NOMBRECL VARCHAR(30) NOT NULL, DIRECC
VARCHAR(20), TEL VARCHAR(15),CIUDAD VARCHAR (15) , PRIMARY KEY (NCLIE));

CREATE TABLE PRODUCTO(CODIGO INTEGER NOT NULL, DESCRIPCION VARCHAR(30), PRECIO


FLOAT, PRIMARY KEY (CODIGO));

CREATE TABLE FACTURA(NFACT INTEGER NOT NULL, FECHA DATE, NCLIENTE INTEGER NOT NULL,
TOTAL FLOAT, PRIMARY KEY (NFACT), FOREIGN KEY (NCLIENTE) REFERENCES CLIENTE
(NCLIE));

CREATE TABLE ITEM (NFACT INTEGER NOT NULL, CODIGOP INTEGER NOT NULL , CANTIDAD
FLOAT, SUBTOTAL FLOAT, PRIMARY KEY (NFACT,CODIGOP),FOREIGN KEY (NFACT) REFERENCES
FACTURA (NFACT), FOREIGN KEY (CODIGOP) REFERENCES PRODUCTO (CODIGO));

INSERTAR PRDUCTOS (REGISTROS) EN LAS TABLAS

INSERT INTO producto VALUES (1,'PRODUCTO A',1800);

INSERT INTO producto VALUES (2,'PRODUCTO B',2500);

INSERT INTO producto VALUES (3,'PRODUCTO C',500);

INSERT INTO producto VALUES (6,'PRODUCTO 4',80000);

INSERT INTO producto VALUES (5,'PRODUCTO 5',30000);

INSERTAR CLINTE (CLIENTE) EN LAS TABLAS

INSERT INTO CLIENTE VALUES(10,'CLIENTE10', 'MZ 18 C3','8876545');

INSERT INTO CLIENTE VALUES(12,'CLIENTE12', 'CLLE NO.13','8886923');

INSERTAR INFO (FACTURA) EN LAS TABLAS


INSERT INTO FACTURA VALUES (2,'10/15/2012',11,35000);

INSERT INTO FACTURA VALUES (1,'12/1/2012',12,29500);

INSERT INTO FACTURA VALUES (4,'2/5/2013',10,32000);

INSERT INTO FACTURA VALUES (3,'1/21/2012',10,20000);

INSERTAR INFO (ITEM) EN LAS TABLAS

INSERT INTO ITEM (NFACT,CODIGOP,CANTIDAD,SUBTOTAL) VALUES (1,1,10,20000);

INSERT INTO ITEM (NFACT,CODIGOP,CANTIDAD,SUBTOTAL) VALUES (2,2,5,10000);

INSERT INTO ITEM (NFACT,CODIGOP,CANTIDAD,SUBTOTAL) VALUES (3,2,20,100000);

INSERT INTO ITEM (NFACT,CODIGOP,CANTIDAD,SUBTOTAL) VALUES (3,1,4,18000);

INSERT INTO ITEM (NFACT,CODIGOP,CANTIDAD,SUBTOTAL) VALUES (3,3,8,80000);

INSERT INTO ITEM (NFACT,CODIGOP,CANTIDAD,SUBTOTAL) VALUES (4,6,7,93000);

ACTUALIZAR O ELIMINAR REGISTROS

ACTUALIZAR = UPDATE PRODUCTO SET PRECIO =48000 WHERE DESCRIPCION ='PRODUCTO B';

ELIMINAR = DELETE FROM ITEM WHERE NFACT = 1;

CODIGO 5

EJERCICIO 7/11/2023

CREAR CATALOGO Y CONSULTAS (SELECT Y FROM)

SELECT CODIGO, DESCRIPCION, PRECIO FROM PRODUCTO

MUESTRE EL PRECIO AUMENTADO EN 27%

SELECT CODIGO, DESCRIPCION, PRECIO, PRECIO*1.27 AS PRECIONUEVO FROM PRODUCTO

CONSULTAR REGISTROS CON CONDICIONES (SELECT, WHERE)

ENCONTRAR DESCRIPCION Y EL PRECIO DE LOS PRODUCTOS QUE VALGAN MAS O IGUAL A $10000

SELECT DESCRIPCION, PRECIO FROM PRODUCTO WHERE PRECIO>=10000

ENCONTRAR LOS PRODUCTOS QUE VALEN MENOS DE $1000 O MAS DE $10000

SELECT * FROM PRODUCTO WHERE PRECIO <10000 OR PRECIO> 1000

EN EL EJERCICIO ANTERIOR MOSTRAR SOLO AQUELLOS QUE ESTEN ENTRE $20.000 Y $80.000

SELECT * FROM PRODUCTO WHERE PRECIO >= 20000 AND PRECIO <=80000
SELECT * FROM PRODUCTO WHERE PRECIO BETWEEN 20000 AND 80000

ENCONTRAR LAS FACTURAS QUE SUS TOTALES NO ESTEN ENTRE $25000 Y $32000

SELECT * FROM FACTURA WHERE TOTAL NOT BETWEEN 25000 AND 32000

ENCONTRAR LOS CODIGOS DE LOS DIFERENTES PRODUCTOS QUE HAN SIDO FACTURADOS

SELECT DISTINT CODIGOP FROM ITEM;

ENCONTRAR LOS CODIGOS DE LOS PRODUCTOS QUE HAN SIDO FACTURADOS

SELECT CODIGOP FROM ITEM;

ENCONTRAR LA INFORMACION DE LOS CLIENTES QUE ESTEN EN ARMENIA, MANIZALES O PEREIRA

SELECT * FROM CLIENTE WHERE CIUDAD ='MANIZALES' OR CIUDAD = 'PEREIRA' OR


CIUDAD = 'ARMENIA'

ENCONTRAR LOS CODIGOS DE LOS CLIENTES, NOMBRES Y CIUDADES TAL QUE SU NOMBRE INICIE
POR (C% CUALQUIER COSA DESPUES DE LA C) (C% CUALQUIER COSA ANTES DE LA C) (%C%
CUALQUIER COSA DESPUES Y ANTES DE LA C)

SELECT NCLIE, NOMBRECL, CIUDAD FROM CLIENTE WHERE NOMBRECL LIKE 'C%'

ENCONTRAR LOS CODIGOS DE LOS CLIENTES, NOMBRES Y CIUDADES TAL QUE SU CIUDAD INICIE
POR C Y TENGA 3 LETRAS MAS (_ LAS LINEAS AL PISO REPRECENTAN LOS ESPACIOS)

SELECT NCLIE, NOMBRECL, CIUDAD FROM CLIENTE WHERE CIUDAD LIKE 'C___'

ENCONTRAR LOS CLIENTES CUYAS DIRECCIONES TENGAN LA CADENA "CRA"EN CUALQUIER


POSICION.

SELECT * FROM CLIENTE WHERE DIRECC LIKE '%CRA%'

CONSULTAR REGISTROS - ORDENAR (ORDER BY - NOTA ESTE DEBE SER EL ULTIMO COMANDO SIN
INGRESAR, EL LO HACE DE FORMA ACENDENTE AUTOMATICAMENTE ) (DESC - ORDENAR EN FORMA
DECENDENTE )

ENCONTRAR EL NUMERO DE FACTURAS, EL CODIGO DEL CLIENTE, EL TOTAL DE CADA FACTURA


ORDENADAS DE MENOR A MAYOR POR EL TOTAL DE FACTURAS

SELECT NFACT,NCLENTE,TOTAL FROM FACTURA ORDER BY TOTAL ASC

SELECT NFACT,NCLENTE,TOTAL FROM FACTURA ORDER BY TOTAL DESC

ENCONTRAR LA INFORMACION DE LAS FACTURAS ORDENADAS POR CODIGO DE CLIENTE EN FORMA


ASCENDENTE Y POR TOTAL EN FORMA DESCENDENTE

SELECT * FROM FACTURA ORDER BY NCLIENTE,TOTAL DESC

CREAR PROVEEDOR E INSERTAR DATOS

CREATE TABLE PROVEEDOR (NPROV INTEGER NOT NULL, NOMBREPR VARCHAR(30) NOT
NULL, CIUDAD VARCHAR(15),PRIMARY KEY (NPROV));

INSERT INTO PROVEEDOR VALUES (1, 'PROVE1','CALI');


INSERT INTO PROVEEDOR VALUES (2, 'PROVE2','MANIZALES');

ENCONTRAR LOS NOMBRES DE LOS CLIENTES Y LOS NOMBRES DE LOS PROVEEDORES CON SU
RESPECTIVA CIUDAD (UNION _ LAS TABLAS DEBEN TENER QUE SER COMPATIBLES, ATRIBUTOS
IGUALES)

SELECT NOMBRECL,CIUDAD FROM CLIENTE UNION SELECT NOMBREPR,CIUDAD FROM


PROVEEDOR

SELECT NOMBRECL AS NOMBRECL_PROV,CIUDAD FROM CLIENTE UNION SELECT


NOMBREPR NOMBRECL_PROV,CIUDAD FROM PROVEEDOR ORDER BY 2

CONSULTAR REGISTROS QUE COMBINAN INFORMACION DE MAS DE UNA TABLA (INNER JOIN-
CONDICIONES DE JOIN )

ENCONTRAR NUMERO DE FACTURA, NOMBRE DE CLIENTE Y TOTAL DE LA FACTURA

SELECT NFACT,NOMBRECL,TOTAL FROM FACTURA,CLIENTE WHERE FACTURA.NCLIENTE


=CLIENTE.NCLIE;

SELECT NFACT,NOMBRECL,TOTAL FROM FACTURA INNER JOIN CLIENTE ON


FACTURA.NCLIENTE=CLIENTE.NCLIE;

MOSTRAR EL NUMERO DE FACTURA, EL NOMBRE DEL CLIENTE Y EL VALOR TOTAL D ELA


FACTURA , TAL QUE ESTE TOTAL SUPERE LOS $30.000

SELECT NFACT,NOMBRECL,TOTAL FROM FACTURA,CLIENTE WHERE NCLIE =NCLIENTE


AND TOTAL > 30000;
SELECT NFACT,NOMBRECL,TOTAL FROM FACTURA,CLIENTE INNER JOIN CLIENTE ON
NCLIE =NCLIENTE AND TOTAL > 30000

MOSTRAR EL NOMBRE DEL CLIENTE, EL NUMERO DE FACTURAS Y LA DESCRIPCION DE LOS


PRODUCTOS COMPRADOS

SELECT NOMBRECL,FACTURA.NFACT,DESCRIPCION FROM CLIENTE, FACTURA, ITEM,


PEDIDO,PRODUCTO WHERE NCLIE =NCLIENTE AND FACTURA.NFACT =ITEM.FACT AND
ITEM.CODIGOP=PRODUCTO.CODIGO

MOSTRAR EL NUMERO DE FACTURA, EL CODIGO DE CLIENTE QUE TENGAN FACTURAS Y EL CODIGO


DE LOS QUE NO TENGAN

SELECT NFACT, CLIENTE.NCLIE FROM FACTURA RIGHT OUTER JOIN CLIENTE ON


NCLIE=NCLIENTE

CONSULTAR REGISTROS DE AGREGACION

ENCONTRAR EL NUMERO DE LAS FACTURAS, EL TOTAL MÁSALTO, EL TOTAL MAS BAJO Y EL


PROMEDIO DE TODOS LOS TOTALES

SELECT COUNT (NFACT), MAX(TOTAL), MIN(TOTAL), AVG (TOTAL) FROM FACTURA

ENCONTRAR EL PROMEDIO EL PROMEDIO DE LAS FACTURAS QUE SUPERAN $100.000

SELECT AVG (TOTAL) FROM FACTURA WHERE TOTAL>100000

CONSULTAR REGISTROS- AGRUPACION


CUAL ES LA INSTRUCCION PARA OBTENER EL MINIMO Y EL MAXIMO TOTAL, LA SUMA DE LOS
VALORES DE LAS FACTURAS Y LA CANTIDAD DE LAS FACTURAS POR CADA CLIENTE , ORDENADO
POR LA CANTIDAD DE FACTURAS DE MAYOR O MENOR

SELECT NCLIENTE, MAX(TOTAL), MIN(TOTAL), SUM(TOTAL), COUNT(NFACT)FROM


FACTURA GROUP BY NCLIENTE ORDER BY 5 DESC

MOSTRAR EL CODIGO DE CLIENTE Y EL VALOR TOTAL DE TODAS SUS FACTURAS TAL QUE ESTE
TOTAL SUPERE LOS $30.000

SELECT NCLIENTE, SUM (TOTAL) FROM FACTURA GROUP BY NCLIENTE HAVING SUM
(TOTAL) >30000

-----------------------------------------------------------------------------------
MY
SQL------------------------------------------------------------------------------

MOSTRAR EL CODIGO DE CLIENTE Y EL VALOR TOTAL DE TODAS SUS FACTURAS TAL QUE ESTE
TOTAL SUPERE LOS $30.000

SELECT NCLIENTE, SUM (TOTAL) FROM FACTURA GROUP BY NCLIENTE HAVING SUM
(TOTAL)>30000

MOSTRAR EL NOMBRE DEL CLIENTE, LA SUMA TOTAL DE SUS FACTURAS DEL MES 8, PERO SOLO
PARA AQUELLOS CLIENTES QUE TENGAN MENOS DE 3 FACTURAS

SELECT NOMBRECL,SUM(TOTAL), COUNT(NFACT) FROM FACTURA, CLIENTE WHERE


FACTURA.NCLIENTE =CLIENTE.NCLIE AND MONTH(FECHA)=04 GROUP BY NOMBRECL HAVING
COUNT(NFACT)<3;

ENCONTRAR LOS DIAS DE ANTIGUEDAD DE TODAS LAS FACTURAS

SELECT NFACT,FECHA,CURRENT_DATE, DATEDIFF(CURRENT_DATE,FECHA) FROM FACTURA

-------------------------------------------------------TALLER
-----------------------------------------------------------------------------------
----------------------

ENTREGAR LAS FACTURAS QUE TENGAN MAS DE 1 AÑO DE HAVER SIDO GENERADAS

SELECT NFACT,FECHA,CURRENT_DATE, DATEDIFF(CURRENT_DATE,FECHA) AS CANTIDAD


FROM FACTURA HAVING CANTIDAD >365;

----------------------------------------------------CONSULTAS ANIDADAS
-----------------------------------------------------------------------------------
-------------

ENCONTRAR LOS NOMBRES DE CLIENTES QUE TIENEN FACTURAS

SELECT NOBRECL FROM CLIENTE WHERE NCLIE IN (SELECT NCLIENTE FROM FACTURA)

ENCONTRAR LOS NOMBRES DE CLIENTES QUE NO TIENEN FACTURAS

SELECT * FROM CLIENTE WHERE NCLIE NOT IN (SELECT NCLIENTE FROM FACTURA)

ENCONTRAR LA DESCRIPCION Y CANTIDAD DEL PRODUCTO QUE TENGA LA CANTIDAD MAS ALTA
VENDIDA
SELECT DESCRIPCION, CANTIDAD FROM PRODUCTO,ITEM WHERE CODIGO=CODIGOP AND
CANTIDAD IN (SELECT MAX(CANTIDAD)FROM ITEM);

ENCONTRAR LA SUMA DE LOS VALORES DE LAS FACTURAS Y LA CANTIDAD DE FACTURAS POR CADA
NOMBRE DE CLIENTE

SELECT NFACT,SUM (TOTAL) CLIENTE.NCLIE FROM FACTURA RIGHT OUTER JOIN CLIENTE
ON NCLIE=NCLIENTE

-------------------------------------------------------------
VISTAS-----------------------------------------------------------------------------
-----------------------

UNA VISTA ES UNA RELACION VIRTUAL QUE SE CREA ATRAVES DE UNA SOLA CONSULTA. LAS
VISTAS PUEDES SER HORIZONTALES, VERTICALES O COMPUESTAS

___________________________________________________________________________________
___________________________________________________________________________________

CREAR UNA VISTA QUE SOLO DE ACCESO A LOS CLIENTES DE MANIZALES


CREATE VIEW VISTAA AS SELECT * FROM CLIENTE WHERE CIUDAD='MANIZALES'

CREAR UNA VISTA QUE ENTREGUE INFORMACION DE LOS ITEMS VENDIDOS PERO SIN EL VALOR EN
$
CREATE VIEW VISTAB (SELECT NFACT,CODIGOP,CANTIDAD) FROM ITEM
OJO-----------------

CREAR UNA VISTA DONDE SE MUESTRE NÚMEROS DE VENTA,FECHA,CÓDIGO DEL PRODUCTO,


DECRIPCION DEL PRODUCTO, CANTIDAD DE SUBTOTAL.
CREATE VIEW VISTAC AS SELECT FACTURA.NFACT,FECHA,CODIGOP,DESCRIPCION,
CANTIDAD, SUBTOTAL FROM FACTURA, PRODUCTO, ITEM WHERE FACTURA.NFACT=ITEM.NFACT AND
PRODUCTO.CODIGO=ITEM.CODIGOP;

LA SUMA DE LOS TOTALES POR NOMBRE DE CLIENTE


CREATE VIEW VISTAD (CL,SUMA) AS SELECT NCLIENTE, SUM(TOTAL) FROM FACTURA
GROUP BY NCLIENTE

_______ACTULIZAR LA DEFINICION DE LAS VISTAS OSEA LA INFORMACION QUE


MUESTRA____________________________________________________________________________
__________

CREATE OR REPLACE VIEW VIEW_NAME AS SELECT COLUMNS FROM TABLE WHERE


CONDITION;

_______BORRAR
VISTA______________________________________________________________________________
___________________________________________________________

DROP VIEW VIEW_NAME;

_______CONSULTAS DEFINICION DE UNA


VISTA______________________________________________________________________________
____________________________________________

SHOW CREATE VIEW CLIENTEMANIZALES


SELECT * FROM INFORMATION_SCHEMA.VIEWS--------------------------> MIRAR TODAD
LAS VISTAS QUE TENEMOS

MOSTRAR LA INFORMACION DEL PRODUCTO QUE MAS VECES HAYA SIDO INCLUIDO EN FACTURAS

CREATE VIEW VISTAE (PRODUCTO, MAXIMO) AS SELECT DESCRIPCION, COUNT(CODIGOP)


AS CANT FROM PRODUCTO,ITEM WHERE CODIGO=CODIGOP AND CANTIDAD IN (SELECT
MAX(CANTIDAD)FROM ITEM);

CREATE VIEW NOCOMPPRAN AS SELECT CLIENTE.NOMBRECL FROM CLIENTE LEFT JOIN FACTURA ON
CLIENTE.NCLIE = FACTURA.NCLIENTE WHERE FACTURA.NCLIENTE IS NUL

--------------------------------------------------USUSARIOS
-----------------------------------------------------------------------------------
------------------------

PARA MYSQL
crear usuario
1. CRESTE USER 'NESTOR ' @ 'LOCALHOST'
IDENTIFIED BY '12345';

CREATE USER 'LORENA' @'LOCALHOST'


IDENTIFIED BY '94082804042';

PRIVILEGIOS: ES UN PERMISO PARA ALGO ESPECIFICO

2. GRANT ALL PRIVILEGES


ON PRUEBA.*
TO LORENA

REVOCAR PERMISOS

3. REVOKE privileges
ON PRUEBA.*
FROM LORENA

ELIMINAR USUSARIO

4. DROP USER 'LORENA' @'LOCALHOST'

-----------------------------------------------------CONSULTAR REGISTROS
-----------------------------------------------------------------------------------
-----------

CREATE TABLE proyecto (idproy integer not null, nombreproy varchar (30), fechain
date, durac interget, primary key (idproy));
CREATE TABLE Empleado (codigoe integer not null, cedulae interget ,nombre varchar
(30), derecc varchar (30), salario float, codigoSuperv interget, idproy integer not
null, primary key (codigoe)FOREIGN KEY (idproy) references proyecto (idproy));

INSERT INTO proyecto VALUES ('1234', 'bases de datos','pedro','2023-05-05','5')


INSERT INTO empleado VALUES ('123', '1012','pedro','mz-2-05','5000','null','1234')

select codigoe,nombre,codigoSuperv

También podría gustarte