1. CREAR LA BASE DE DATOS
CREATE DATABASE `estudianteBD`;
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 tamaño 20.
NOT NULL=Quiere decir que el campo no está vacío.
PRIMARY KEY=Este código es para decir cuál 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 código 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
transformación Unicode de 8 bit) es una codificación de caracteres de largo variable. Usa grupo de bytes para
representar el estándar Unicode para lamayoría delos lenguajes del mundo.
2. 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 más registros a una (y sólo 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` ), también se escriben los
nombres de los campos que se quieren llenar, y después 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 más 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 después 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` ).
3. INVESTIGACIÓN:
phpMyAdmin
Un proyecto de código abierto en PHP para administrar la base de datos MySQL a través de una
interfaz web. Descripción funcionalidades y ayudas para la instalación.
phpMyAdmin es un programa de libre distribución en PHP, creado por una comunidad sin ánimo de
lucro, que sólo trabaja en el proyecto por amor al arte. Es una herramienta muy completa que
permite acceder a todas las funciones típicas de la base de datos MySQL a través 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, añadir registros, hacer copias de seguridad, etc. Es una aplicación tan útil que
casi todos los hosting con MySQL disponen de ella, por ello se analizará su instalación. Además,
vamos a usarlo para crear los usuarios MySQL para así poder utilizar las bases de datos de forma
segura. Al ser una aplicación escrita en PHP, necesita de Apache y MySQL para poder funcionar.
phpMyAdmin es también muy profundamente documentados en un libro escrito por uno de los
desarrolladores - Dominar phpMyAdmin para una eficaz gestión de MySQL , que está disponible en
Inglés, checo, alemán y español.
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 aplicación en si no es más 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 páginas 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 etcétera, 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.
Características de phpMyAdmin
* Multiplataforma.
* Multilenguaje (más de 50).
* Licencia GPL.
* Está escrito en PHP interfaz web intuitiva
*Soporte para las características más 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 configuración del
servidor
*Ejecutar, editar y marcar cualquier sentencia SQL, incluso por lotes consultas
*Administrar usuarios y privilegios de MySQL
4. *Gestión de procedimientos almacenados y disparadores
*Importar datos de CSV y SQL
*Exportación de datos a varios formatos: CSV, SQL, XML, PDF, ISO / IEC 26300 - OpenDocument
Text y hoja de cálculo, de Word, Excel, A L T E X y otros
*La administración de múltiples servidores
*Creación de gráficos en PDF de su base de datos de diseño
*Creación de consultas complejas utilizando Consulta por ejemplo (QBE)
*Búsqueda a nivel mundial en una base de datos o un subconjunto de la misma
*La transformación 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 año
2000.
Un grupo de tres desarrolladores, Olivier Müller, Marc Delisle y Loïc Chapeaux, registraron el
proyecto en SourceForge, retomando el desarrollo de phpMyAdmin en 2001.
Apache
(Acrónimo de "a patchy server"). Servidor web de distribución libre y de código abierto, siendo el
más popular del mundo desde abril de 1996, con una penetración 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 aplicación permite ejecutarse en múltiples sistemas operativos como Windows, Novell NetWare,
Mac OS X y los sistemas basados en Unix.
Historia de Apache
La primera versión 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 versión 2 del servidor Apache fue una reescritura sustancial de la mayor parte del código de
Apache 1.x, enfocándose en una mayor modularización y el desarrollo de una capa de portabilidad,
el Apache Portable Runtime.
5. Apache 2.x incluyó multitarea en UNIX, mejor soporte para plataformas no Unix (como Windows),
una nueva API Apache y soporte para IPv6.
La versión 2 estable de Apache, fue lanzada el 6 de abril de 2002.
Características de Apache
* Soporte para los lenguajes perl, python, tcl y PHP.
* Módulos de autenticación: mod_access, mod_auth y mod_digest.
* Soporte para SSL y TLS.
* Permite la configuración de mensajes de errores personalizados y negociación de contenido.
* Permite autenticación de base de datos basada en SGBD.
Uso de Apache
Apache es principalmente usado para servir páginas web estáticas y dinámicas en la WWW.
Apache es el servidor web del popular sistema XAMP, junto con MySQL y los lenguajes de
programación 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 más utilizados actualmente en Internet según los datos de
Netcraft.
En el momento en el que estoy escribiendo este How-to, se acaba de liberar la versión 2.0.35, con
importantes mejoras como el soporte de threads para sistemas multiprocesador.
Otra de las características importantes de Apache, es que tiene una licencia que aunque no es la
GPL, permite ver el código fuente, al contrario de otros productos que se jactan de seguros y que
curiosamente, son los que más incidencias tienen.
Ventajas:
Precio (de libre uso, gratuito).
Desempeño y Robustez.
Solidez.
Seguridad.
Soporte para el protocolo HTTP 1.1.
Extensibilidad.
Rápido soporte vía grupo de noticias.
Contras:
La versión para WinNT es todavía débil (No posee aún el crecimiento en el desempeño obtenido
en las versiones UNIX).
Carece de interfaces gráficas para facilitar las tareas de configuración y administración.
Un soporte técnico más extenso requiere de comprar el servicio a un tercero.
6. Uso de Apache
Apache es principalmente usado para servir páginas web estáticas y dinámicas en la WWW.
Apache es el servidor web del popular sistema XAMP, junto con MySQL y los lenguajes de
programación PHP/Perl/Python. La "X" puede ser la inicial de cualquier sistema operativo, si es
Windows: WAMP, si es el Linux: LAMP, etc.
Módulos
La arquitectura del servidor Apache es muy modular. El servidor consta de una sección core y
diversos módulos que aportan mucha de la funcionalidad que podría considerarse básica para un
servidor web. Algunos de estos módulos son:
*mod_ssl - Comunicaciones Seguras vía TLS.
*mod_rewrite - reescritura de direcciones (generalmente utilizado para transformar páginas
dinámicas como php en páginas estáticas html para así engañar a los navegantes o a los motores
de búsqueda en cuanto a cómo fueron desarrolladas estas páginas).
*mod_dav - Soporte del protocolo WebDAV (RFC 2518).
*mod_deflate - Compresión 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 páginas dinámicas en
Java (servlets y JSP).
El servidor de base puede ser extendido con la inclusión de módulos externos entre los cuales se
encuentran:
*mod_cband - Control de tráfico y limitador de ancho de banda.
*mod_perl - Páginas dinámicas en Perl.
*mod_php - Páginas dinámicas en PHP.
*mod_python - Páginas dinámicas en Python.
*mod_rexx - Páginas dinámicas en REXX y Object REXX.
*mod_ruby - Páginas dinámicas en Ruby.
*mod_aspdotnet - Páginas dinámicas en .NET de Microsoft (Módulo retirado).
*mod_mono - Páginas dinámicas en Mono
*mod_security - Filtrado a nivel de aplicación, para seguridad.
Configuración
La mayor parte de la configuración se realiza en el fichero apache2.conf o httpd.conf, según el
sistema donde esté corriendo. Cualquier cambio en este archivo requiere reiniciar el servidor, o
forzar la lectura de los archivos de configuración nuevamente.
7. MySQL
Sistema de Gestión de Base de Datos. Una implementación Cliente Servidor, basado en el álgebra
relacional, se caracteriza por disponer toda la información contenida en tablas, y las relaciones
entre datos deben ser representadas explícitamente en esos mismos datos.
Es un software de código 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 versión libre fue escrita por Michael Windenis y la versión 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 compresión de índice.
Multiproceso, es decir puede usar varias CPU si éstas están disponibles.
Puede trabajar en distintas plataformas y S.O. distintos.
Seguridad
Sistema de contraseñas 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 límites
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 máximo ancho de límite 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
precisión, carácter, fechas, enumerados, etc.
Todas las columnas pueden tener valores por defecto.
Utilidad (Isamchk) para chequear, optimizar y reparar tablas.
Todos los datos están 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 intención de ser un gestor rápido accediendo a la información,
pero debido a su difusión y aceptación, MySQL empezó a ser un producto adoptado por
diversos ámbitos para los cuales ni fue diseñado, 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.
8. MySQL no tiene incorporado en su estructura ningún tipo de “integridad referencial” en su
motor, lo cual no ofrece ningún control sobre la información que se recibe.
No existe un transaccionalidad – método por el cual se asegura que los datos se
introducen coherentemente a la base de datos.
MySQL en su diseño no incluye:
Vistas = consultas prediseñadas que ofrecen lecturas de la información desde distintos
puntos de vista
Procedimientos almacenados = consultas de acción generalmente, que al ser repetitivas se
guardan en la BD aumentando la velocidad de ejecución
MySQL no está diseñado para ser un almacén de datos muy cambiantes en el tiempo, por
ejemplo: un site de publicación de una revista diariamente.
FORTALEZAS
MySQL tiene gran penetración 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 páginas personales.
MySQL fue diseñado para acceso rápido a al información, 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 estructuración de
información (tablas, columnas, índices, etc.) y una interface SQL para poder acceder a ello
Disponible para muchos sistemas operativos
MySQL está diseñado para ser un almacén de datos que no cambian en el tiempo, por
ejemplo: un site de publicación de una revista mensual – MySQL está diseñado a ser un
almacén de distribución de datos semi-estáticos con alteraciones en la información
ocasionales.
MySQL tiene un código fuente abierto a los usuarios para modificarlo según los
requerimientos sin costo adicional
MySQL ante ventaja de tener una velocidad de respuesta rápida, incorpora elementos que
le faltaban:
InnoDB - para añadir integridad referencial y transaccionalidad al motor de BS
Librerías API - para usarlas como paquetes embebidos en las aplicaciones
MySQL es recomendable para proyectos no demasiado grandes y las características
faltantes al MySQL se pueden programar de manera individual según 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 método OpenRecordSet y como la propiedad RecordSource del control
de datos. También se puede utilizar con el método Execute para crear y manipular directamente
las bases de datos Jet y crear consultas SQL de paso a través para manipular bases de datos
remotas cliente - servidor.
Componentes del SQL
El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado.
Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de
datos.
9. 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
Características:
Estructuras de datos simples
Operadores potentes
Periodos de aprendizaje inicial cortos
Mejora de la independencia de datos
Modo de uso dual (interactivo o inmerso)
Optimización
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 definición 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 operación.
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
10. Cláusulas
Las cláusulas son condiciones de modificación 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 específicos
HAVING
Utilizada para expresar la condición que debe satisfacer cada grupo
ORDER BY
Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico
Operadores Lógicos
AND
Es el "y" lógico. Evalua dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas.
OR
Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.
NOT
Negación lógica. Devuelve el valor contrario de la expresión.
Operadores de Comparación
<
Menor que
>
Mayor que
<>
Distinto de
<=
Menor ó Igual que
>=
11. Mayor ó Igual que
=
Igual que
BETWEEN
Utilizado para especificar un intervalo de valores.
LIKE
Utilizado en la comparación 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 cláusula 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 número de registros de la selección
SUM
Utilizada para devolver la suma de todos los valores de un campo determinado
MAX
Utilizada para devolver el valor más alto de un campo especificado
MIN
Utilizada para devolver el valor más bajo de un campo especificado