Beruflich Dokumente
Kultur Dokumente
LENGUAJESQL EsdeesodeloquetrataelStructuredQueryLanguagequenoesmasqueunlenguajeestndar decomunicacinconbasesdedatos.Hablamosportantodeunlenguajenormalizadoquenos permitetrabajarconcualquiertipodelenguaje(ASPoPHP)encombinacinconcualquiertipode basededatos(MSAccess,SQLServer,MySQL...). Elhechodequeseaestndarnoquieredecirqueseaidnticoparacadabasededatos.Enefecto, determinadasbasesdedatosimplementanfuncionesespecficasquenotienennecesariamenteque funcionarenotras. Apartedeestauniversalidad,elSQLposeeotrasdoscaractersticasmuyapreciadas.Porunaparte, presentaunapotenciayversatilidadnotablesquecontrasta,porotra,consuaccesibilidadde aprendizaje. SINTAXIS 1.DIFERENTESTIPOSDECAMPOS Comosabemosunabasededatosestacompuestadetablasdondealmacenamosregistros catalogadosenfuncindedistintoscampos(caractersticas). Unaspectoprevioaconsiderareslanaturalezadelosvaloresqueintroducimosenesoscampos. Dadoqueunabasededatostrabajacontodotipodeinformaciones,esimportanteespecificarlequ tipodevalorleestamosintroduciendodemaneraa,porunlado,facilitarlabsqueda posteriormenteyporotro,optimizarlosrecursosdememoria. Cadabasededatosintroducetiposdevaloresdecampoquenonecesariamenteestnpresentesen
otras.Sinembargo,existeunconjuntodetiposqueestnrepresentadosenlatotalidaddeestas bases.Estostiposcomunessonlossiguientes:
2.AADIRUNNUEVOREGISTRO LosregistrospuedenserintroducidosapartirdesentenciasqueempleanlainstruccinInsert. Lasintaxisutilizadaeslasiguiente: InsertIntonombre_tabla(nombre_campo1,nombre_campo2,...)Values(valor_campo1, valor_campo2...) Unejemplosencilloapartirdenuestratablamodeloeslaintroduccindeunnuevoclientelocual seharaconunainstruccindeestetipo: InsertIntoclientes(nombre,apellidos,direccion,poblacion,codigopostal,email,pedidos)Values ('Perico','Palotes','Perceben13','Lepe','123456','perico@desarrolloweb.com',33) Comopuedeverse,loscamposnonumricosobooleanosvandelimitadosporapostrofes:'. Tambinresultainteresanteverqueelcdigopostallohemosguardadocomouncampono numrico.Estoesdebidoaqueendeterminadospaises(Inglaterra,comono)loscodigospostales contienentambinletras. 3.BORRARUNREGISTRO ParaborrarunregistronosservimosdelainstruccinDelete.Enestecasodebemosespecificarcual ocualessonlosregistrosquequeremosborrar.Esporellonecesarioestablecerunaseleccinquese llevaraacabomediantelaclusulaWhere. tipodesintaxisutilizadoparaefectuarestassupresiones: DeleteFromnombre_tablaWherecondiciones_de_seleccin HayquetenercuidadoconestainstruccinyaquesinoespecificamosunacondicinconWhere,lo queestamoshaciendoesborrartodalatabla. 5.ACTUALIZARUNREGISTRO Updateeslainstruccinquenossirveparamodificarnuestrosregistros.Comoparaelcasode Delete,necesitamosespecificarpormediodeWhereculessonlosregistrosenlosquequeremos hacerefectivasnuestrasmodificaciones.Adems,obviamente,tendremosqueespecificarculesson losnuevosvaloresdeloscamposquedeseamosactualizar.Lasintaxisesdeestetipo: Updatenombre_tablaSetnombre_campo1=valor_campo1,nombre_campo2=valor_campo2,... Where.
condiciones_de_seleccin AqutambinhayquesercuidadosodenoolvidarsedeusarWhere,delocontrario,modificaramos todoslosregistrosdenuestratabla. 6.SELECCINDETABLAS LaseleccintotaloparcialdeunatablasellevaacabomediantelainstruccinSelect.Endicha seleccinhayqueespecificar: Loscamposquequeremosseleccionar Latablaenlaquehacemoslaseleccin SELECTclientes,FROMinformacin Siquisisemosseleccionartodosloscampos,esdecir,todalatabla,podramosutilizarelcomodn *delsiguientemodo: Select*Fromclientes Hemosqueridocompilaramododetablaciertosoperadoresquepuedenresultartilesen determinadoscasos.EstosoperadoressernutilizadosdespusdelaclusulaWhereypuedenser combinadoshbilmentemedianteparntesisparaoptimizarnuestraseleccinamuyaltos niveles. Operadoresmatemticos:
OperadoreslgicosAndOrNot Otrosoperadores
Comodines
Unabasededatospuedeserconsideradacomounconjuntodetablas.Estastablasenmuchoscasos estnrelacionadasentreellasysecomplementanunasconotras.
Refirindonosanuestroclsicoejemplodeunabasededatosparaunaaplicacindeecomercio,la tablaclientesdelaquehemosestadohablandopuedeestarperfectamentecoordinadaconunatabla dondealmacenamoslospedidosrealizadosporcadacliente.Estatabladepedidospuedeasuvez estarconectadaconunatabladondealmacenamoslosdatoscorrespondientesacadaartculodel inventario. Deestemodopodramosfcilmenteobtenerinformacionescontenidasenesastrestablascomo puedeserladesignacindelartculomspopularenunadeterminadaregindondeladesignacin delartculoseraobtenidadelatabladeartculos,lapopularidad(cantidaddevecesqueeseartculo hasidovendido)vendradelatabladepedidosylareginestaracomprendidaobviamenteenla tablaclientes. Estetipodeorganizacinbasadaenmltiplestablasconectadasnospermitetrabajarcontablas muchomsmanejablesalavezquenosevitacopiarelmismocampoenvariossitiosyaque podemosaccederalapartirdeunasimplellamadaalatablaquelocontiene. Enestecaptuloveremoscomo,sirvindonosdeloaprendidohastaahora,podemosrealizar fcilmenteseleccionessobrevariastablas.Definamosantesdenadalasdiferentestablasycampos quevamosautilizarennuestrosejemplos: Tabladeclientes
Tabladepedidos
Tabladeartculos