Вы находитесь на странице: 1из 7

IntroaSQLyMySQLEjercicio1Ejercicioresueltocon1tabla

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(../../)

Вам также может понравиться