CREATE=CREAR. DATABASE=BASE DE DATOS. Entonces crear base de datos y el nombre de la base de datos en este caso es `estudianteBD`. CREAR TABLA CREATE TABLE `nombre_E` ( `Id_E` VARCHAR( 20 ) NOT NULL , `Nom1_E` VARCHAR( 20 ) NOT NULL , `Nom2_E` VARCHAR( 20 ) NOT NULL , `Apellido_E` VARCHAR( 20 ) NOT NULL , PRIMARY KEY ( `Id_E` ) ) ENGINE = MYISAM; CREATE=CREAR. TABLE=TABLA. Entonces crear tabla con el nombre `nombre_E`. Dentro de esta tabla se va a crear unos campos con un tipo de dato VARCHAR de tamao 20. NOT NULL=Quiere decir que el campo no est vaco. PRIMARY KEY=Este cdigo es para decir cul es la llave primaria en este caso es ( `Id_E` ). ENGINE = MYISAM= Este es el motor de almacenamiento de datos usado por el sistema administrador de bases de datos relacionales. CREAR CAMPOS DE LA TABLA ALTER TABLE `nombre_E` ADD `Apellido2_E` VARCHAR( 20 ) NOT NULL ; ALTER TABLE = ALTER permite modificar la estructura de un objeto en este caso se va a agregar un campo a la tabla `nombre_E` el campo que se va a agregar el `Apellido2_E`. MODIFICAR EL NOMBRE DE UN CAMPO ALTER TABLE `nombre_e` CHANGE `Apellido_E` `Apellido1_E` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL En este fragmento de cdigo se va a modificar un campo de la tabla (ALTER TABLE `nombre_e`) se va a reemplazar el campo (CHANGE `Apellido_E` )por el campo `Apellido1_E`. El CHARACTER SET es el tipo de caracteres que se va a usar en este caso es UTF8 (Formato de transformacin Unicode de 8 bit) es una codificacin de caracteres de largo variable. Usa grupo de bytes para representar el estndar Unicode para la mayora de los lenguajes del mundo.
ELIMINAR CAMPO ALTER TABLE `nombre_e` DROP `Apellido2` _E` Se da el nombre de la tabla `nombre_e` y se usa la sentencia DROP para eliminar el campo `Apellido2` _E`. BORRAR BASE DE DATOS DROP DATABASE `estudianteBD`; Para borrar una base de datos se una la sentencia DROP DATABASE y el nombre de la BD en este caso `estudianteBD`; INSERTAR DATO INSERT INTO `estudianteBD`.`nombre_e` ( `Id_E` , `Nom1_E` , `Nom2_E` , `Apellido1_E` , `Apellido2_E` ) VALUES ( '1143838547', 'ALVARO', 'JOSE', 'CARDONA ', 'HURTADO' ); El INSERT INTO agrega uno o ms registros a una (y slo una) tabla en una base de datos relacional. Se utiliza para insertar un dato seguido del nombre de la BD(`estudianteBD`) y el nombre de la tabla donde se quiere agregar los datos (`nombre_e` ), tambin se escriben los nombres de los campos que se quieren llenar, y despus se muestra un VALUES que son los valores que se van a agregar a dichos campos escritos anteriormente. ELIMINAR DATO DELETE FROM 'nombre_e' WHERE CONVERT (nombre_e ','Id_E' USING utf8)='1143838547 LIMIT 1 La sintaxis DELETE FROM borra uno o ms registros existentes en una tabla, en este caso la tabla es ('nombre_e') el fragmento WHERE CONVERT se usa para seleccionar la tabla y el campo de donde se quiere eliminar el dato y el USING es para decir que tipo de caracteres se va a modificar y despus se dice que dato se va a eliminar en este caso '1143838547 que es la llave primaria y la sentencia LIMIT limita el rango de registros devueltos. ACTUALIZAR DATO UPDATE `estudianteBD`.`nombre_e` SET `Nom1_E` = 'ANDRES ', `Nom2_E` = 'CARDONA', `Apellido1_E` = 'HURTADO' WHERE CONVERT (`nombre_e. Id_E` USING utf8 ) ='1143838547' LIMIT 1 ; La sintaxis UPDATE es utilizada para modificar los valores de un conjunto de registros existentes en una tabla. Aqu se puede ver que se escribe el nombre de la BD(`estudianteBD`), seguido de la tabla(`nombre_e` ), el set fija los campos que se quieren actualizar en este caso (`Nom1_E` = 'ANDRES ', `Nom2_E` = 'CARDONA',`Apellido1_E` = 'HURTADO' ) y el WHERE CONVERT es para decir donde se quiere actualizar el dato en este caso (`nombre_e. Id_E` ). INVESTIGACIN: phpMyAdmin Un proyecto de cdigo abierto en PHP para administrar la base de datos MySQL a travs de una interfaz web. Descripcin funcionalidades y ayudas para la instalacin. phpMyAdmin es un programa de libre distribucin en PHP, creado por una comunidad sin nimo de lucro, que slo trabaja en el proyecto por amor al arte. Es una herramienta muy completa que permite acceder a todas las funciones tpicas de la base de datos MySQL a travs de una interfaz web muy intuitiva. PhpMyAdmin es una utilidad que nos sirve para interactuar con una base de datos de forma muy sencilla y desde una interfaz web. Nos sirve por ejemplo para crear bases de datos, tablas, borrar o modificar dados, aadir registros, hacer copias de seguridad, etc. Es una aplicacin tan til que casi todos los hosting con MySQL disponen de ella, por ello se analizar su instalacin. Adems, vamos a usarlo para crear los usuarios MySQL para as poder utilizar las bases de datos de forma segura. Al ser una aplicacin escrita en PHP, necesita de Apache y MySQL para poder funcionar. phpMyAdmin es tambin muy profundamente documentados en un libro escrito por uno de los desarrolladores - Dominar phpMyAdmin para una eficaz gestin de MySQL , que est disponible en Ingls, checo, alemn y espaol. Para facilitar el uso de una amplia gama de personas, phpMyAdmin es traducido a 58 idiomas y es compatible tanto, LTR, y lenguajes RTL. La aplicacin en si no es ms que un conjunto de archivos escritos en PHP que podemos copiar en un directorio de nuestro servidor web, de modo que, cuando accedemos a esos archivos, nos muestran unas pginas donde podemos encontrar las bases de datos a las que tenemos acceso en nuestro servidor de bases de datos y todas sus tablas. La herramienta nos permite crear tablas, insertar datos en las tablas existentes, navegar por los registros de las tablas, editarlos y borrarlos, borrar tablas y un largo etctera, incluso ejecutar sentencias SQL y hacer un backup de la base de datos. phpMyAdmin permite crear o eliminar bases de datos; crear, eliminar o alterar tablas; eliminar, editar o agregar campos; ejecutar consultas SQL, etc. Caractersticas de phpMyAdmin * Multiplataforma. * Multilenguaje (ms de 50). * Licencia GPL. * Est escrito en PHP interfaz web intuitiva *Soporte para las caractersticas ms MySQL: *Navegar y borran bases de datos, tablas, vistas, campos e ndices *Crear, copiar, eliminar y alterar cambiar el nombre de bases de datos, tablas, campos e ndices *Mantenimiento del servidor, bases de datos y tablas, con propuestas sobre la configuracin del servidor *Ejecutar, editar y marcar cualquier sentencia SQL, incluso por lotes consultas *Administrar usuarios y privilegios de MySQL *Gestin de procedimientos almacenados y disparadores *Importar datos de CSV y SQL *Exportacin de datos a varios formatos: CSV, SQL, XML, PDF, ISO / IEC 26300 - OpenDocument Text y hoja de clculo, de Word, Excel, A L T E X y otros *La administracin de mltiples servidores *Creacin de grficos en PDF de su base de datos de diseo *Creacin de consultas complejas utilizando Consulta por ejemplo (QBE) *Bsqueda a nivel mundial en una base de datos o un subconjunto de la misma *La transformacin de los datos almacenados en cualquier formato utilizando un conjunto de funciones predefinidas, como mostrar los datos BLOB como imagen o enlace de descarga- Historia de phpMyAdmin Tobias Ratschiller comenz a trabajar en un front-end escrito PHP para MySQL en 1998. El proyecto se volvi muy popular en aplicaciones PHP, pero lo dej por falta de tiempo en el ao 2000. Un grupo de tres desarrolladores, Olivier Mller, Marc Delisle y Loc Chapeaux, registraron el proyecto en SourceForge, retomando el desarrollo de phpMyAdmin en 2001. Apache (Acrnimo de "a patchy server"). Servidor web de distribucin libre y de cdigo abierto, siendo el ms popular del mundo desde abril de 1996, con una penetracin actual del 50% del total de servidores web del mundo (agosto de 2007). La principal competencia de Apache es el IIS (Microsoft Internet Information Services) de Microsoft. Apache fue la primera alternativa viable para el servidor web de Netscape Communications, actualmente conocido como Sun Java System Web Server. Apache es desarrollado y mantenido por una comunidad abierta de desarrolladores bajo el auspicio de la Apache Software Foundation. La aplicacin permite ejecutarse en mltiples sistemas operativos como Windows, Novell NetWare, Mac OS X y los sistemas basados en Unix. Historia de Apache La primera versin del servidor web Apache fue desarrollada por Robert McCool, quien desarrollaba el servidor web NCSA HTTPd (National Center for Supercomputing Applications). Cuando Robert dej el NCSA a mediados de 1994, el desarrollo de httpd se detuvo. Robert McCool busc otros desarrolladores para que lo ayudaran, formando el Apache Group. Algunos miembros del grupo original fueron Brian Behlendorf, Roy T. Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau, Andrew Wilson, Eric Hagberg, Frank Peters y Nicolas Pioch. La versin 2 del servidor Apache fue una reescritura sustancial de la mayor parte del cdigo de Apache 1.x, enfocndose en una mayor modularizacin y el desarrollo de una capa de portabilidad, el Apache Portable Runtime. Apache 2.x incluy multitarea en UNIX, mejor soporte para plataformas no Unix (como Windows), una nueva API Apache y soporte para IPv6. La versin 2 estable de Apache, fue lanzada el 6 de abril de 2002. Caractersticas de Apache * Soporte para los lenguajes perl, python, tcl y PHP. * Mdulos de autenticacin: mod_access, mod_auth y mod_digest. * Soporte para SSL y TLS. * Permite la configuracin de mensajes de errores personalizados y negociacin de contenido. * Permite autenticacin de base de datos basada en SGBD. Uso de Apache Apache es principalmente usado para servir pginas web estticas y dinmicas en la WWW. Apache es el servidor web del popular sistema XAMP, junto con MySQL y los lenguajes de programacin PHP/Perl/Python. La "X" puede ser la inicial de cualquier sistema operativo, si es Windows: WAMP, si es el Linux: LAMP, etc. Apache es uno de los servidores web ms utilizados actualmente en Internet segn los datos de Netcraft. En el momento en el que estoy escribiendo este How-to, se acaba de liberar la versin 2.0.35, con importantes mejoras como el soporte de threads para sistemas multiprocesador. Otra de las caractersticas importantes de Apache, es que tiene una licencia que aunque no es la GPL, permite ver el cdigo fuente, al contrario de otros productos que se jactan de seguros y que curiosamente, son los que ms incidencias tienen. Ventajas: Precio (de libre uso, gratuito). Desempeo y Robustez. Solidez. Seguridad. Soporte para el protocolo HTTP 1.1. Extensibilidad. Rpido soporte va grupo de noticias. Contras: La versin para WinNT es todava dbil (No posee an el crecimiento en el desempeo obtenido en las versiones UNIX). Carece de interfaces grficas para facilitar las tareas de configuracin y administracin. Un soporte tcnico ms extenso requiere de comprar el servicio a un tercero. Uso de Apache Apache es principalmente usado para servir pginas web estticas y dinmicas en la WWW. Apache es el servidor web del popular sistema XAMP, junto con MySQL y los lenguajes de programacin PHP/Perl/Python. La "X" puede ser la inicial de cualquier sistema operativo, si es Windows: WAMP, si es el Linux: LAMP, etc. Mdulos La arquitectura del servidor Apache es muy modular. El servidor consta de una seccin core y diversos mdulos que aportan mucha de la funcionalidad que podra considerarse bsica para un servidor web. Algunos de estos mdulos son: *mod_ssl - Comunicaciones Seguras va TLS. *mod_rewrite - reescritura de direcciones (generalmente utilizado para transformar pginas dinmicas como php en pginas estticas html para as engaar a los navegantes o a los motores de bsqueda en cuanto a cmo fueron desarrolladas estas pginas). *mod_dav - Soporte del protocolo WebDAV (RFC 2518). *mod_deflate - Compresin transparente con el algoritmo deflate del contenido enviado al cliente. *mod_auth_ldap - Permite autentificar usuarios contra un servidor LDAP. *mod_proxy_ajp - Conector para enlazar con el servidor Jakarta Tomcat de pginas dinmicas en Java (servlets y JSP). El servidor de base puede ser extendido con la inclusin de mdulos externos entre los cuales se encuentran: *mod_cband - Control de trfico y limitador de ancho de banda. *mod_perl - Pginas dinmicas en Perl. *mod_php - Pginas dinmicas en PHP. *mod_python - Pginas dinmicas en Python. *mod_rexx - Pginas dinmicas en REXX y Object REXX. *mod_ruby - Pginas dinmicas en Ruby. *mod_aspdotnet - Pginas dinmicas en .NET de Microsoft (Mdulo retirado). *mod_mono - Pginas dinmicas en Mono *mod_security - Filtrado a nivel de aplicacin, para seguridad. Configuracin La mayor parte de la configuracin se realiza en el fichero apache2.conf o httpd.conf, segn el sistema donde est corriendo. Cualquier cambio en este archivo requiere reiniciar el servidor, o forzar la lectura de los archivos de configuracin nuevamente.
MySQL Sistema de Gestin de Base de Datos. Una implementacin Cliente Servidor, basado en el lgebra relacional, se caracteriza por disponer toda la informacin contenida en tablas, y las relaciones entre datos deben ser representadas explcitamente en esos mismos datos. Es un software de cdigo abierto escrito en C y C++, accesible para cualquiera para usarlo y modificarlo. MySQL usa el GPL (GNU Licencia Publica General) no nos cuesta dinero a menos que lo incluyamos en un software comercial. La versin libre fue escrita por Michael Windenis y la versin comercial es distribuida por TCX Datakonsulter AB (MySQL AB)
Interioridades y potabilidad El principal objetivo de MySQL es velocidad y robustez. Escrito en C y C++, testado con GCC 2.7.2.1. Usa GNU autoconfort para potabilidad. Clientes C, C++, JAVA, Perl, TCL. Usa tablas en disco B-Tree muy rapidas con compresin de ndice. Multiproceso, es decir puede usar varias CPU si stas estn disponibles. Puede trabajar en distintas plataformas y S.O. distintos. Seguridad Sistema de contraseas y privilegios muy flexible y segura ( se encriptan cuando se conectan a un servidor). Todas la palabras de paso viajan encriptadas en la red. Escalabilidad y lmites Registros de longitud fija y variable. Se permite hasta 64 ndices por tabla. Cada ndice puede consistir desde 1 hasta 16 columnas o partes de columnas. El mximo ancho de lmite son 1000 bytes. Un ndice puede usar prefijos de una columna para los tipos de columna CHAR, VARCHAR, BLOB, o TEXT. Diversos tipos de columnas como enteros de 1, 2, 3, 4, y 8 bytes, coma flotante, doble precisin, carcter, fechas, enumerados, etc. Todas las columnas pueden tener valores por defecto. Utilidad (Isamchk) para chequear, optimizar y reparar tablas. Todos los datos estn grabados en formato ISO8859_1. Conectividad Los clientes usan TCP/IP (para cualquier plataforma), en windows pueden usar names pipes y en Unix utilizan socket unix para conectarse al servidor. El servidor soporta mensajes de error en distintas lenguas (permite escoger el lenguaje). Todos los comandos tienen -help o -? Para las ayudas. ODBC(Open Database Connectivity), se puede utilizar ACCESS para conectar con el servidor MySQL y los clientes pueden ejecutarse en Windows o Unix.
DEBILIDADES MySQL fue creado con la intencin de ser un gestor rpido accediendo a la informacin, pero debido a su difusin y aceptacin, MySQL empez a ser un producto adoptado por diversos mbitos para los cuales ni fue diseado, ni est preparado. GNU que utiliza el MySQL es gratuito, pero no para el uso comericial. MySQL no es un gestor muy potente; MySQL no puede sustituir a MS SQL Server u Oracle en aplicaciones que requieren de un SGBDR. MySQL no tiene incorporado en su estructura ningn tipo de integridad referencial en su motor, lo cual no ofrece ningn control sobre la informacin que se recibe. No existe un transaccionalidad mtodo por el cual se asegura que los datos se introducen coherentemente a la base de datos. MySQL en su diseo no incluye: Vistas = consultas prediseadas que ofrecen lecturas de la informacin desde distintos puntos de vista Procedimientos almacenados = consultas de accin generalmente, que al ser repetitivas se guardan en la BD aumentando la velocidad de ejecucin MySQL no est diseado para ser un almacn de datos muy cambiantes en el tiempo, por ejemplo: un site de publicacin de una revista diariamente.
FORTALEZAS MySQL tiene gran penetracin en el mercado en los servidores de datos orientados a WEBSITES. MySQL se distribuye bajo licencia GNU/GPL, lo que lo hace en ciertas circunstancias gratuito; por ello es adoptado por millones de usuarios para sus pginas personales. MySQL fue diseado para acceso rpido a al informacin, por lo cual usa un sistema de archivo de almacenamiento plano, que aumenta la eficiencia de la lectura. MySQL es un excelente gestor de bases de datos, dando un sistema de estructuracin de informacin (tablas, columnas, ndices, etc.) y una interface SQL para poder acceder a ello Disponible para muchos sistemas operativos MySQL est diseado para ser un almacn de datos que no cambian en el tiempo, por ejemplo: un site de publicacin de una revista mensual MySQL est diseado a ser un almacn de distribucin de datos semi-estticos con alteraciones en la informacin ocasionales. MySQL tiene un cdigo fuente abierto a los usuarios para modificarlo segn los requerimientos sin costo adicional MySQL ante ventaja de tener una velocidad de respuesta rpida, incorpora elementos que le faltaban: InnoDB - para aadir integridad referencial y transaccionalidad al motor de BS Libreras API - para usarlas como paquetes embebidos en las aplicaciones MySQL es recomendable para proyectos no demasiado grandes y las caractersticas faltantes al MySQL se pueden programar de manera individual segn requerimiento del cliente
SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por el motor de base de datos de Microsoft Jet. SQL se utiliza para crear objetos QueryDef, como el argumento de origen del mtodo OpenRecordSet y como la propiedad RecordSource del control de datos. Tambin se puede utilizar con el mtodo Execute para crear y manipular directamente las bases de datos Jet y crear consultas SQL de paso a travs para manipular bases de datos remotas cliente - servidor. Componentes del SQL El lenguaje SQL est compuesto por comandos, clusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.
Comandos Existen dos tipos de comandos SQL: Los DLL que permiten crear y definir nuevas bases de datos, campos e ndices. Los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos. SQL: Structured Query Language Caractersticas: Estructuras de datos simples Operadores potentes Periodos de aprendizaje inicial cortos Mejora de la independencia de datos Modo de uso dual (interactivo o inmerso) Optimizacin Comandos DLL
CREATE
Utilizado para crear nuevas tablas, campos e ndices
DROP Empleado para eliminar tablas e ndices
ALTER
Utilizado para modificar las tablas agregando campos o cambiando la definicin de los campos.
Comandos DML
SELECT
Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado
INSERT
Utilizado para cargar lotes de datos en la base de datos en una nica operacin.
UPDATE
Utilizado para modificar los valores de los campos y registros especificados
DELETE
Utilizado para eliminar registros de una tabla de una base de datos
Clusulas Las clusulas son condiciones de modificacin utilizadas para definir los datos que desea seleccionar o manipular.
FROM
Utilizada para especificar la tabla de la cual se van a seleccionar los registros
WHERE
Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar
GROUP BY
Utilizada para separar los registros seleccionados en grupos especficos
HAVING
Utilizada para expresar la condicin que debe satisfacer cada grupo
ORDER BY
Utilizada para ordenar los registros seleccionados de acuerdo con un orden especfico
Operadores Lgicos
AND
Es el "y" lgico. Evalua dos condiciones y devuelve un valor de verdad slo si ambas son ciertas.
OR
Es el "o" lgico. Evala dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.
NOT
Negacin lgica. Devuelve el valor contrario de la expresin. Operadores de Comparacin
<
Menor que
>
Mayor que
<>
Distinto de
<=
Menor Igual que
>=
Mayor Igual que
=
Igual que
BETWEEN
Utilizado para especificar un intervalo de valores. LIKE
Utilizado en la comparacin de un modelo In
Utilizado para especificar registros de una base de datos
Funciones de Agregado
Las funciones de agregado se usan dentro de una clusula SELECT en grupos de registros para devolver un nico valor que se aplica a un grupo de registros.
AVG Utilizada para calcular el promedio de los valores de un campo determinado
COUNT
Utilizada para devolver el nmero de registros de la seleccin
SUM
Utilizada para devolver la suma de todos los valores de un campo determinado
MAX
Utilizada para devolver el valor ms alto de un campo especificado
MIN
Utilizada para devolver el valor ms bajo de un campo especificado