Documente Academic
Documente Profesional
Documente Cultură
MENU
Estesitiowebusacookiesdetercerosparaanalizareltrficoypersonalizarlosanuncios.Sinoestdeacuerdo,abandoneelsitioynosiganavegandopor
l.
NuevoLexusCT200h
lexusperu.com.pe/es/
TecnologadeFrenadaRegenerativa:DelFrenadoaEnerga
Elctrica
IntroaSQLyMySQLEjercicio1Ejercicioresueltocon1
tabla
Vamosaaplicarbuenapartedeloqueconocemosparahacerunejercicioderepasoquehagadistintasmanipulacionesauna
nicatabla.Serunatablaquecontengadatosdeproductos:cdigo,nombre,precioyfechadealta,paraquepodamostrabajar
condatosdetexto,numricosydetipofecha.
Lospasosquerealizaremos(porsialguienseatreveaintentarloantesdeverlasolucin)sern:
Crearlabasededatos
Comenzarausarla
Introducir3datosdeejemplo
Mostrartodoslosdatos
Mostrarlosdatosquetienenunciertonombre
Mostrarlosdatosquecomienzanporunaciertainicial
Versloelnombreyelpreciodelosquecumplenunacondicin(precio>22)
Verelpreciomediodeaquelloscuyonombrecomienzacon"Silla"
Modificarlaestructuradelatablaparaaadirunnuevocampo:"categora"
Darelvalor"utensilio"alacategoradetodoslosproductosexistentes
Modificarlosproductosquecomienzaporlapalabra"Silla",paraquesucategorasea"silla"
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,sinosloelnombreyel
precio:
SELECTnombre,precioFROMproductosWHEREprecio>22;
+++
|nombre|precio|
+++
|Sillamod.XAX|25.00|
+++
Preciomediodelassillas:
SELECTavg(precio)FROMproductosWHERELEFT(nombre,5)='Silla';
++
|avg(precio)|
++
|22.500000|
++
Estodemirarlasprimerasletrasparasabersiesunasillaono...quiznosealamejoropcin.Parecemsrazonableaadirun
nuevodato: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"alacategorade
todoslosproductosexistentes
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|
+++
FreeITHelpdeskSoftware
2015NachoCabanes(http://www.nachocabanes.com)46342visitasdesdeel07Nov2007
ndice(index.php)
Anterior(index.php)
Posterior(sqle2.php)
NachoCabanes.com(../../)