Академический Документы
Профессиональный Документы
Культура Документы
CAPITULO I
INTRODUCCION A MYSQL
SERVER
1.QUEESMySqlServer?
Administrador de Base de Datos: Una base de datos es un conjunto de datos
estructurados.Estopodrasercualquiercosa,desdeunasimplelistadecomprashastauna
galera de pinturas o la gran cantidad de informacin que se maneja en una corporacin.
Para agregar, acceder y procesar los datos almacenados en una base de datos
computacional, se necesita un sistema administrador de base de datos tal como MySql.
Adems los computadores son muy buenos manejando grandes cantidades de datos, el
administrador de base de datos juega un rol central en la computacin, ya sea como
utilidadautnomaopartedeotraaplicacin.
Sistema administrador de base de datos relacionales: Una base de datos relacional
almacena datos en tablas separadas, ms bien colocando todos los datos en un gran
almacn. Esto agrega velocidad y flexibilidad. Las tablas son enlazadas por relaciones
definidas haciendo posible combinar datos desde varias tablas solicitadas. El SQL forma
parte de MySql, conocido como Lenguaje de Consultas Estructurado, es el lenguaje
estandarizadomscomnusadoparaaccederbasededatos.
SoftwaredeFuenteAbierta:Fuenteabiertasignificaqueesposiblequepuedaserusadoy
modificadoporcualquiera.AlguienpuedebajarMySqldesdeInternetyusarstesintener
que pagar nada. Alguien puede estudiar el cdigo fuente y cambiarlo de acuerdo a sus
necesidades. MySql usa el GPL de la GNU, para definir lo que se puede hacer con el
softwareendiferentessituaciones.
UsodeMySqlServer:
MySqlesmuyrpido,seguroyfcildeusar.MySqltambinhadesarrolladounconjunto
de caractersticas muy prcticas, en estrecha cooperacin con otros usuarios. MySql fue
desarrolladopara manejar grandes bases de datosmucho ms rpido que las soluciones
existentesyhasidousadoexitosamenteenambientesdeproduccinconaltasdemandas,
porvariosaos.Aunqueestbajoundesarrolloconstante,MySqlsiempreofrececonjunto
de funciones muy poderoso y eficiente. La conectividad, velocidad y seguridad hace de
MySqlunasuitepoderosaparaaccederabasesdedatosenInternet.
2.CARACTERISTICASTECNICASDEMySql
MySqlesunsistemaCliente/ServidorqueconstadeunservidorSQLmultihiloquesoporta
diferentes backends, variados programas cliente y de libreras, administrador de
herramientasyunprogramadeinterface.
MySqlcontribucinparamuchosdelossoftwaredisponiblesEsmuchomsprobableque
seencuentrequediversasaplicacionesyasoportanMySql.LosvalorescentralesdeMySql
son:
Lamejorymsusadabasededatosenelmundo.
DisponibleyAccesibleparatodos
Fcildeusar
Seestperfeccionandocontinuamentemientraspermanecerpidaysegura.
Divertidaparausaryperfeccionar.
Libredemolestias.
3.CARACTERISTICASPRINCIPALESDEMySql
AcontinuacinsedescribenalgunasdelascaractersticasmsimportantesdeMySql:
EscritoenCyC++,testadoconGCC2.7.2.1.UsaGNUautoconfparaportabilidad.
ClientesC,C++,Eiffel,PHP,Python,JAVA,Perl,TCL.
Multiproceso,esdecirpuedeusarvariasCPUsistasestndisponibles.
PuedetrabajarendistintasplataformasyS.O.distintos.
Sistemadecontraseasyprivilegiosmuyflexiblesyseguros.
Todaslaspalabrasdepasoviajanencriptadasenlared.
Registrosdelongitudfijayvariable.
16ndicesportabla,cadandicepuedeestarcompuestode1a15columnasopartes
deellasconunalongitudmximade127bytes.
4.IMPLEMENTACINDEUNABASEDEDATOS.Caso:AmigosdeComputacinVII
Bienvenidos al curso de introduccin a las bases de datos web segunda parte, en este
manual veremos lo sencillo que es crear bases de datos para pginas web dinmicas, y
cmoutilizarelclienteMySqlparacrearbasessencillasdesdeMySql.
MySqlesun programainteractivoque nosvapermitirconectarnosaunservidorMySqly
generar: consultas, crear bases de datos, crear y ver tablas, obtener unos resultados de
maneradirectaporejemplodemodoBachcomoloquevamosautilizarahora,stemodo
loejecutaremosdesdeelsmbolodelsistemacmoaccedemosalsmbolodelsistemas?
As: Inicio, todos los programas, accesorios, smbolo del sistema y clicamos: como se
muestraenelsiguientegrfico:
LuegosevisualizarenmodoDOSodedeotraforma,slotienesqueirainicio,todoslos
programas, appserv, MySql Command Line Client (slo tienes que ingresar tu clave). Y
entraremosalpromdeMySqlsiguiendolospasos:cd\,c:\>dir,detalladosacontinuacin
hastalograringresar.
LoquesemuestraenelDOSsedetallaacontinuacinparaunamejorcomprensin.
C:\DocumentsandSettings\WalterArmando>CD\
C:\>dir//(buscamoseldirectoriorazdndeseubicaelappserv)
ElvolumendelaunidadCnotieneetiqueta.
Elnmerodeseriedelvolumenes:6823B167
DirectoriodeC:\
11/05/200915:33<DIR>antivirus
19/05/200922:32<DIR>AppServ
12/06/200916:52<DIR>Archivosdeprograma
11/05/200915:270AUTOEXEC.BAT
11/05/200915:270CONFIG.SYS
11/05/200916:40<DIR>DocumentsandSettings
11/05/200916:22<DIR>Intel
11/05/200922:57<DIR>Monito_CS3
12/06/200916:55<DIR>nero_7
06/06/200917:28270RecorderSDKLog.txt
11/05/200922:34536RHDSetup.log
11/05/200922:32<DIR>TempEI4
17/06/200923:05<DIR>WINDOWS
4archivos806bytes
9dirs23.429.656.576byteslibres
C:\>cdappserv//(ingresamosalappservparaubicarnosenMySql)
C:\AppServ>dir
ElvolumendelaunidadCnotieneetiqueta.
Elnmerodeseriedelvolumenes:6823B167
DirectoriodeC:\AppServ
19/05/200922:32<DIR>.
19/05/200922:32<DIR>..
19/05/200922:32<DIR>Apache2.2
19/05/200922:32<DIR>MySQL
19/05/200922:32<DIR>php5
19/05/200922:32119.214UninstallAppServ2.5.10.exe
22/06/200920:40<DIR>www
1archivos119.214bytes
6dirs23.429.656.576byteslibres
C:\AppServ>cdMySql//(ingresamosalclienteMySql)
C:\AppServ\MySQL>dir
ElvolumendelaunidadCnotieneetiqueta.
Elnmerodeseriedelvolumenes:6823B167
DirectoriodeC:\AppServ\MySQL
19/05/200922:32<DIR>.
19/05/200922:32<DIR>..
19/05/200922:32<DIR>bin
18/01/200811:5719.071COPYING
24/06/200907:10<DIR>data
18/01/200811:575.139EXCEPTIONSCLIENT
18/01/200811:575.059myhuge.ini
18/01/200811:5721.411myinnodbheavy4G.ini
Ing. Walter Armando Santamara Santamara.
18/01/200811:575.035mylarge.ini
18/01/200811:575.040mymedium.ini
18/01/200811:572.541mysmall.ini
18/04/200622:4113.493mytemplate.ini
19/05/200922:329.584my.ini
05/07/200613:14863mysql_servicefix.bat
19/05/200922:32423mysql_serviceinstall.bat
13/06/200507:1691mysql_servicestart.bat
13/06/200507:1990mysql_servicestop.bat
05/07/200613:15410mysql_serviceuninstall.bat
13/06/200511:20497mysql_start.bat
04/10/200609:50132mysql_stop.bat
19/05/200922:32<DIR>scripts
19/05/200922:32<DIR>share
16archivos88.879bytes
6dirs23.429.656.576byteslibres
C:\AppServ\MySQL>cdbin//(ubicamoselarchivobinparainiciarelPROMdeMySql)
C:\AppServ\MySQL>bin
C:\AppServ\MySQL>bin>dir
C:\AppServ\MySQL\bin>mysqlurootp//(colocamoselusuarioyclavepara
conectarnosalservidor)
Enterpassword:***
//(Ingresarelpasswordcreadoalmomentodeinstalarelappserv)
WelcometotheMySQLmonitor.Commandsendwith;or\g.
YourMySQLconnectionidis31
Serverversion:5.0.51bcommunityntlogMySQLCommunityEdition(GPL)
Type'help;'or'\h'forhelp.Type'\c'toclearthebuffer.
mysql>
YlistoyaestamosenelPROMdeMySqlpara
empezaracrearnuestrasbasesdedatos,tablasyconsultasSQL.
Ahorarealizaremosalgunaspruebasparaobservarlasbasesdedatosexistentes.
1).Paraverquebasesdedatosestncreadas:mysql>showdatabases;
MySqlcreapordefectolasbasesdedatosmysqlytestlasotrasbasesdedatoshansido
creadasposteriormente.Cadainstruccindebeterminarconpuntoycoma(;)
2).Paramostrarbasesdedatosylaversin:mysql>showdatabases;selectversion();
4).PuesahoraharemoslaconsultadelaversinylosusuariosgeneradosdentrodeMySql,
As:selectversin(),user();
Sicambiasteelusuariopuesdebesdeestarobservandoelusuarioqueasignasteysera
(cualquiercosa@localhost)ok.Mscosas:
5).VamosacrearbasesdedatosdesdeelPROMTdeMySql.Paracrearunabasededatos
colocamoslasiguientesintaxis:createdatabase.Yenlospuntossuspensivoscolocas
el nombre de la base de datos, estamos? Por ejemplo, voy a crear una base de datos
agendayluegomuestrolabasededatoscreada.
Y como observars ya esta creada la bases de datos agenda. Ahhhhh y si te has dado
cuentahastaelmomentohemosutilizadotrestrminos:show(quesirveparamostrar
cosas),create(paracrearcosas)ydrop(paraeliminarcosas),haremosunejemplopara
eliminarunabasededatos.Buenovoyacrearunabasededatosllamadasantamaria
paraluegoeliminarlacomosemuestraenlosdosgrficossiguientes:
Ahoravoyaeliminarlabasededatossantamariamedianteelsiguientecomandodrop
databasesantamaria;Yobservarsqueyanoexistelabasededatossantamaria.
6). Una vez creada la base de datos agenda y como hay varias bases de datos
aprenderemos a utilizar la base de datos que queremos en concreto mediante lo
siguiente: use agenda; con la finalidad de empezar a crear las tablas y realizar los
registrosrespectivos.As:
Desde aqu vamos a crear tablas dentro de una base de datos, cada tabla va a estar
conformadaporunaseriedecamposquecontieneunatabladeunabasededatos,por
ejemplo para nuestro caso vamos a crear la tabla amigos dentro de la base de datos
agenda,estoscamposvanacontenernombres,apellidos,direccin,telfonos,etc.con
susrespectivostiposdedatosquecontienemysql(tiposnumricos,tiposdefecha,tipos
decadena).Puesbienempezaremosacrear:
Ing. Walter Armando Santamara Santamara.
Unavezcreadalatablaamigoslamostramosyobservaqueyaestacreadalatabla:
Yaspodemoscrearmstablas,crearemoslatablacumpleaos;peroaqutenmucho
cuidado en no utilizar la porque puede llevar a errores es mejor evitar esto, a la
tablalallamaremoscumple.
MuybienahoralapreguntaesDndeubicamoslaclaveprimaria(PK)ysecundaria
(FK)?.
Crearemoslatablacitasdesdephpmyadminconcincocampos:Id_cita,direccin,persona,
daytipo(eseltipodecita).Abrimoselphpmyadminubicamoslabasededatosagenday
enlaparteinferiorcolocamoselnombre(citas)yloscamposaregistrar(5).
Observamos la siguiente figura lista para ser llenado: asignando la clave primaria al
campo Id_citas, como te muestro en las figuras. Para llenar el campo tipo hay que
tener cuidado si asignamos un tipo de variable ENUM el campo debe ser llenado, de
estemodo:ennuestrocasoamigo,trabajo,otro
Unavezllenadoloscamposledamosagrabarymuestralatablacitascreada.Adems
contienelaconsultarealizadaenSQLcomolomuestroenlafigurasiguiente.
Como vers hemos creado una tabla (citas) desde el phpmyadmin con sus respectiva clave
primaria,peroestotambinlopodemosrealizardesdeelPROMTdeMySql.
Ahora bien, como te abras fijado la tabla cumple no tiene clave primaria, escribimos
mysql>describecumple;yobservamosenlacolumnakeyestavacaparaestovoyagenerarla
mediante lo siguiente: alter table cumple ADD PRIMARY KEY(nombre); para luego ejecutar
mysql>describecumple;yobservamosqueenlacolumnakeyyatienelaclave.
S,nosvamosalphpmyadminynosubicamosenlatablacumple,actualizndola,observamos
queelcamponombreyatienelaPRIMARYKEY,comolomuestroenlafigurassiguientes.
Siqueremosaadirunnuevocampolopodemosingresaralfinaldelatabla,alcomienzodela
tablaodespusdenombre,apellidoofecha,ennuestrocasovoyaingresarunnuevocampo
despusdeapellidoyclicamosencontinuar.
Comohemosvistodesdephpmyadminsepuedenmodificartablas,crearbasesdedatos,crear
tablas y mucho ms. Hasta aqu todo entendido? Si no te sugiero que vuelvas a repasar lo
anteriorparapoderavanzarok!
Ahora vamos a insertar datos dentro de las tablas creadas, bueno lo haremos desde el
phpmyadminydesdeelPROMTdeMySql.Primeronosubicamosenlatablaamigosyclicamos
en las pestaa insertar (primera fila quinta columna, como semuestra en la fig. siguiente).
As:
Aquloquemepidesonlosvaloresqueyoquiero,comoporejemplo,elnombre,porquees
un campo obligatorio por ser una clave primaria como observas en la columna el valor del
camponombrenoestactivadoporlotantodebeserllenadoyaslosdemscampos,como
semuestraenelsiguientegrfico.
Luego de insertar los datos en los campos le damos a continuar, ahh podemos seguir
ingresando otros datos de tus compaeros, como lo vamos a realizar desde el PROMT de
MySql.Buenodespusdederealizarestaaccinobservarsqueapareceunapantallaconla
consultaSQLcomosemuestraenlassiguientepantalla.
Ahora podemos ingresar ms registros; pero vamos a introducir registros desde el promt
MySqlconlasiguientesintaxis:insertintoamigos()values()
Debestenerenconsideracinlossiguiente,cuandoingresesdatosennombre,apellidosyen
direccindebedeirentrecomillasdentrodelVALUESyenladireccinademsdelascomillas
nunca debes de ingresar algn nmero, por ejemplo analiza el siguiente grfico y te dars
cuenta que los datos de Andy Correa estn bien; pero los Datos de Marianela sale en error
porqueseingresnmerosdentrodeladireccinyrealizadalacorreccintedevuelveQuery
okelresultadosemuestraenelsiguientegrfico.
Otroaspectoaconsideraresquesifaltandatosdealgunapersonacomoporejemplotelecasa
entonces no se considera dentro de insert into. Pues bien, dadas estas recomendaciones
seguiremos llenando datos de todos los alumnos del VII ciclo de Computacin e Informtica
desdeelPROMTodesdeelphpmyadminenlatablaamigos.
Comoobservarsalgunosdelosalumnosnoregistrantodosloscampos,estonoesnecesario
para ingresar datos, debes tener en consideracin que el campo nombre si es obligatorio
Ing. Walter Armando Santamara Santamara.
porque es la clave primaria. Ahora realizamos nuestra primera consulta con la tabla amigos:
select*fromamigos;
De la misma manera insertamos los datos a la tabla cita y cumple como se muestra en las
figuras siguientes con sus respectivas consultas. Luego realizaremos algunas consultas desde
phpmyadminconestastablas.
NosubicamosenlatablaamigosygeneramosunaconsultaSQLpulsandolapestaaSQL
Paraluegorealizarlaconsulta.Digitenlosiguiente:SELECT*FROMamigosWHERE,yledamos
a continuar, es decir nos va a mostrar todos los campos, como aparece en los siguientes
grficos.
DesdeelPROMTejecutolasiguienteconsultaparaquedevuelvaslolosnombresyapellidos
delatablaamigosas:selectnombre,apellidosfromamigos;
Ahora voy a realizar la consulta desde phpmyadmin. Primero lo que debemos hacer es
ubicarnosenlapestaaSQLyborramosel*yubicamosloscamposquedeseamosmostraren
nuestro caso vamos a ingresar el campo nombre y apellidos insertamos con el icono (<<) y
pulsamos a continue, como se muestra en la figura. SELECT nombre,apellido
FROMamigosWHERE1
Unavezqueclicamosencontinuarvisualizaremoslasiguientepantallamostrandotodoslos
registrospornombresyapellidoscomoenlafigurasiguiente:
Ing. Walter Armando Santamara Santamara.
Pues bien ahora vamos arealizar algunas consultastales como ya lo hicimos anteriormente
con la tabla amigos que estudian en el Instituto Superior Pedaggico Gran Pajatn, las
citas, y ahora consultaremos sobre sus cumpleaos. Para ello utilizaremos SELECT, y para
seleccionartodosloscamposutilizaremos*yelnombredelastablas.As:
Quems,tambinpodemoshacerlaconsultadesdeelphpmyadmin,comolomuestroenlas
figurassiguientes:
Ahoravamosaverconsultasunpoquitomscomplicadasaadiendoclausulasdecondicin,
especificando ciertos registros de cada tabla, por ejemplo de tabla amigos deseo que
aparezcan los alumnos que tienen ms de 20 aos. As: select nombre, edad from amigos
whereedad>20;ydespusharemoslaconsulta>=20.
selectnombre,edadfromamigoswhereedad>=20;yluegoordenamosporedad.
selectnombre,edadfromamigoswhereedad>=20orderbyedaddesc;
Realizaremosunaconsultadondelaedadesteentre>=20y<25
selectnombre,edadfromamigoswhereedad>=20andedad<25orderbyedaddesc;
ObservaqueenestaconsultayanoconsideraaFreddyyJulemanporquenocumplenla
condicin.Hastahoratodobien?
selectnombre,edadfromamigoswhereedad<20oredad>22orderbyedaddesc;
Ms cosas que podemos hacer, podemos seleccionar en cadena de texto los nombres de
amigos que comiencen por la letra a mediante la siguiente sintaxis: As.
selectnombrefromamigoswherenombrelikea%;
YsolomuestralosnombredeAndyyAnneShirley.
Ing. Walter Armando Santamara Santamara.
Ahora realiza la siguiente consulta: select nombre from amigos where nombre like e%;
Realizamos consultas uniendo tablas: En este caso vamos a unir la tabla amigos con la tabla
cumple:As.
Selecta.nombre,edad,fechafromamigosa,cumplecwherea.nombre=c.nombre;
Ahora vamos a ver como realizamos la definicin de un sitio web de dreamweaver para la
tecnologa php, por qu es obligatorio que definamos un sitio web? porque principalmente
vamosacrearpginasdinmicasconaccesoabasesdedatosatravsdephpypararealizar
unaconexinaunabasesdedatosnecesariamentedebemostenerunsitiodefinido.Paraesto
ejecutamos el dreamweaver para crear el sitio. Ejecutado nos vamos a la pestaa ventana y
seleccionamosbasesdedatos.As
Comotedarscuentaenlapartederechapresentaunpanelcomogenerarunsitio,comose
muestraenlasiguientefigura.
Ing. Walter Armando Santamara Santamara.
Se puede crear sitios desde este panel o si no vamos a la pestaa sitio y elegimos
administradordesitios.As.
Luegohacemosclicennuevo.
c)ServidordePrueba:Clicamosenlacategoraservidordepruebaloconfiguramosquedando
delamanerasiguiente:
Yledamosaaceptar,automticamenteapareceuncuadrodedilogodondeapareceelsitio
configurado.As.
Luegopulsamoslisto,ysiobservaslapartederechadelprogramadreamweavervisualizamos
todas las opciones para crear sitios con sus check respectivos y en la parte inferior el sitio
creado(computacinVII)
Todobienhastaaqu?Sinoyasabesmirecomendacinvuelvearepasarparaquequedenlas
cosas claras estamos? Bueno ya nos falta un muy poco nimo! Y vers que pronto estars
realizandopginaswebdinmicas,estoesbuenoadelante.
Ahora vamos a aprender cmo realizar una conexin a una base de datos y despus como
realizarunaconsultasobrelabasededatos.
a) Conexin a una base de datos desde el entorno dreamweaver. Clicamos en ventana y
luegonovamosabasededatos.
Luego nos vamos al panel de la derecha y en la pestaa base de datos hacemos clic en +
(conexinMySql)yluegoclicenella,comoobservamosenlafigura.
UnavezrealizadoestasaccionesclicamosenelcomandoPruebaylaconexinestestablecida
correctamente,comosemuestraenelgrficosiguiente:
Observaenelpaneldelapartederechayaserealizlaconexin,esdecirsemuestratodala
basededatos,agenda,incluyendolastablas(amigos,citasycumple).
Ing. Walter Armando Santamara Santamara.
Ahoracomoyageneramoslasconexionesysiobservasenlaparteltimadelgrficoanterior
apareceunconoprecedidodelsignomsysihacemoslaextensinvisualizaremoslaconexin
.php, adems se genera otra carpeta ubicada dentro de appserv llamada _mmServerScripts
dondeseencuentranlaslibrerasquevaacontenerlasconexionesylasfuncionespararealizar
lasconexionesalasbasesdedatos.Observalafiguraylarutadondeseencuentralacarpeta.
Ing. Walter Armando Santamara Santamara.
Visto los procedimientos para las conexiones, ahora ya podemos realizar consultas sobre la
basededatosobteniendolosnombres,telfonosdelosamigosquetengametidosdentrode
la tabla amigos. Cmo lo vamos hacer? Lo primero que hacemos es generar un juego de
registros y consultas. Nos vamos al dreamweaver y desde el men insertar, objetos de
aplicacin,juegoderegistrosyclicamos.
Al hacer clic visualizaremos el siguiente cuadro de dilogo donde nos permite realizar
consultassintenermuchoconocimientodeMySql.
Pero si queremos realizarlo de modo avanzado slo tenemos que clicar en el comando
Avanzado y las consultas se realizan con select, where, order by, como se muestra en la
figura.
Porahoravamosarealizarconsultassimplesdejuegosderegistros.Loprimeroquevamosa
hacer es dar un nombre al juego de registros por ejemplo lo llamaremos consutadatos, en
conexinelegimoslaquehemoscreadoconexion1yenlatabla:buscamostodaslastablas
que estn dentro de la base de datos con la que hemos conectado, podemos realizar la
consulta de todos los campos o podemos seleccionar algunos campos, en este caso voy a
seleccionar los campos nombre y telecasa , y los voy a ordenar por nombre y en forma
ascendente.
Antesdeaceptarvoyarealizarlapruebaylosresultadossevisualizanenelsiguientegrfico.
Le damos a aceptar y como ven en la derecha del grfico ya hemos generado el juego de
registrosquecontienenlasdoscolumnasquesehaseleccionado.
Loquenosfaltaesvisualizarloenmododediseoparaluegoverlodirectamenteenlapgina
web. Cmo lo vamos a hacer? Insertando una tabla dinmica, para esto nos ubicamos en el
meninsertar,objetosdeaplicacin,datosdinmicos,tabladinmica.
Hacemosclicyvisualizaremoselsiguientecuadrodedilogo.
Deaqudelatabladinmicaloquetenemosquehaceresseleccionardequjuegoderegistro
quierocrearlatabladinmica,enestecasovahacerdeconsultadatos,ademssevaapoder
mostrar10juegosderegistrosotodoslosregistrosdeunavezenlosespaciadosdebordey
rellenodeceldaessimplementedatosdelatabla,loquevoyaejecutarestodoslosregistros,
claroenestecaso,yledoyaaceptar.
Comovezaparecenlosdoscamposqueyohabaseleccionado:nombreytelecasa.Lo
guardamosconelnombreprueba1paraversiestofunciona.
LuegopresionamoslateclaF12paraejecutarelnavegadorymirayatenemoslasconsultas
en la web, claro de manera local, verdaderamente sencillo y fenomenal trabajar pginas
dinmicas,ahoraaprovecharemospararealizarotrasconsultas.
Haremosconsultasquemuestrendelatablaamigospornombre,apellidosycelular: