intro a sql y mysql - ejercicio 1 - ejercicio resuelto con 1 tabla.pdf
TRANSCRIPT
-
IntroaSQLyMySQLEjercicio1Ejercicioresueltocon1tablaVamosaaplicarbuenapartedeloqueconocemosparahacerunejercicioderepasoquehagadistintasmanipulacionesaunanicatabla.Serunatablaquecontengadatosdeproductos:cdigo,nombre,precioyfechadealta,paraquepodamostrabajarcondatosdetexto,numricosydetipofecha.
Lospasosquerealizaremos(porsialguienseatreveaintentarloantesdeverlasolucin)sern:
CrearlabasededatosComenzarausarlaIntroducir3datosdeejemploMostrartodoslosdatosMostrarlosdatosquetienenunciertonombreMostrarlosdatosquecomienzanporunaciertainicialVersloelnombreyelpreciodelosquecumplenunacondicin(precio>22)Verelpreciomediodeaquelloscuyonombrecomienzacon"Silla"Modificarlaestructuradelatablaparaaadirunnuevocampo:"categora"Darelvalor"utensilio"alacategoradetodoslosproductosexistentesModificarlosproductosquecomienzaporlapalabra"Silla",paraquesucategorasea"silla"
IntroaSQLyMySQLEjercicio1Ejercicioresueltocon1tabla MENU
Estesitiowebusacookiesdetercerosparaanalizareltrficoypersonalizarlosanuncios.Sinoestdeacuerdo,abandoneelsitioynosiganavegandoporl.
NuevoLexusCT200hlexusperu.com.pe/es/TecnologadeFrenadaRegenerativa:DelFrenadoaEnergaElctrica
-
Verlalistacategoras(sinqueaparezcandatosduplicados)Verlacantidaddeproductosquetenemosencadacategora
DamosporsentadoqueMySQLestinstalado.Elprimerpasoescrearlabasededatos:
CREATEDATABASEproductos1;
Ycomenzarausarla:
USEproductos1;
Paracrearlatablaharamos:
CREATETABLEproductos(codigovarchar(3),nombrevarchar(30),preciodecimal(6,2),fechaaltadate,PRIMARYKEY(codigo));
Paraintroducirvariosdatosdeejemplo:
INSERTINTOproductosVALUES('a01','Afilador',2.50,'20071102');INSERTINTOproductosVALUES('s01','Sillamod.ZAZ',20,'20071103');INSERTINTOproductosVALUES('s02','Sillamod.XAX',25,'20071103');
-
Podemosvertodoslosdatosparacomprobarquesoncorrectos:
SELECT*FROMproductos;
ydeberamosobtener
+++++|codigo|nombre|precio|fechaalta|+++++|a01|Afilador|2.50|20071102||s01|Sillamod.ZAZ|20.00|20071103||s02|Sillamod.XAX|25.00|20071103|+++++
Paraverquproductossellaman"Afilador":
SELECT*FROMproductosWHEREnombre='Afilador';
+++++|codigo|nombre|precio|fechaalta|+++++|a01|Afilador|2.50|20071102|+++++
SiqueremossabercualescomienzanporS:
SELECT*FROMproductosWHEREnombreLIKE'S%';
-
+++++|codigo|nombre|precio|fechaalta|+++++|s01|Sillamod.ZAZ|20.00|20071103||s02|Sillamod.XAX|25.00|20071103|+++++
Siqueremosvercualestienenunpreciosuperiora22,yademsnodeseamosvertodosloscampos,sinosloelnombreyelprecio:
SELECTnombre,precioFROMproductosWHEREprecio>22;
+++|nombre|precio|+++|Sillamod.XAX|25.00|+++
Preciomediodelassillas:
SELECTavg(precio)FROMproductosWHERELEFT(nombre,5)='Silla';
++|avg(precio)|++|22.500000|++
Estodemirarlasprimerasletrasparasabersiesunasillaono...quiznosealamejoropcin.Parecemsrazonableaadirunnuevodato:la"categora".Vamosamodificarlaestructuradelatablaparahacerlo:
-
ALTERTABLEproductosADDcategoriavarchar(10);
Comprobamosquhaocurridoconun"select"quemuestretodoslosdatos:
SELECT*FROMproductos;
++++++|codigo|nombre|precio|fechaalta|categoria|++++++|a01|Afilador|2.50|20071102|NULL||s01|Sillamod.ZAZ|20.00|20071103|NULL||s02|Sillamod.XAX|25.00|20071103|NULL|++++++
Ahoramismo,todaslascategorastienenelvalorNULL,yesonoesmuytil.Vamosadarelvalor"utensilio"alacategoradetodoslosproductosexistentes
UPDATEproductosSETcategoria='utensilio';
Yyaqueestamos,modificaremoslosproductosquecomienzaporlapalabra"Silla",paraquesucategorasea"silla"
UPDATEproductosSETcategoria='silla'WHERELEFT(nombre,5)='Silla';
-
++++++|codigo|nombre|precio|fechaalta|categoria|++++++|a01|Afilador|2.50|20071102|utensilio||s01|Sillamod.ZAZ|20.00|20071103|silla||s02|Sillamod.XAX|25.00|20071103|silla|++++++
Paraverlalistacategoras(sinqueaparezcandatosduplicados),deberemosusarlapalabra"distinct"
SELECTDISTINCTcategoriaFROMproductos;
++|categoria|++|utensilio||silla|++
Finalmente,paraverlacantidaddeproductosquetenemosencadacategora,deberemosusar"count"yagruparlosdatoscon"groupby",as:
SELECTcategoria,count(*)FROMproductosGROUPBYcategoria;
+++|categoria|count(*)|+++|silla|2||utensilio|1|+++
-
2015NachoCabanes(http://www.nachocabanes.com)46342visitasdesdeel07Nov2007
ndice(index.php) Anterior(index.php) Posterior(sqle2.php) NachoCabanes.com(../../)
FreeITHelpdeskSoftware