Issuu on Google+

FUNDACIÓN UNIVERSITARIA DEL ÁREA ANDINA CENTRO DE EDUCACIÓN A DISTANCIA PROGRAMA TÉCNICO PROFESIONAL EN SISTEMAS ASIGNATURA: IMPLEMENTACIÓN DE AMBIENTES WEB BASES DE DATOS CON MySQL UNIDAD TRES: MODIFICACIÓN DE BASES DE DATOS Y TABLAS INTRODUCCIÓN: En la unidad anterior hemos podido utilizar las clausulas INSERT,SELECT, UPDATEyDELETE, que operan sobre datos específicos y forman el conjunto de instrucciones de mayor uso en de manipulación de datos, son parte de lo que en el contexto de las bases de datos se conoce como DML o Lenguaje de Manipulación de Datos de SQL. En esta parte abordaremos fundamentalmente el trabajo sobre consultas definidas para eliminar bases de datos y tablas, así como aquellas útiles en la modificación de la definición de tablas, estas consultas utiliza cláusulas que hacen parte del DDL o Lenguaje de Definición de Datos. También iniciaremos el trabajo en cuanto a consulta sobre varias tablas. Eliminar tablas y bases de datos: La eliminación de una tabla de una base de datos se hace mediante el comando DROP TABLE seguido del nombre de la tabla. La siguiente imagen muestra la creación de una tabla “borrador” y luego la operación de borrado.


Creación y eliminación de una tabla De manera similar, usando la instrucción DROP DATABASE, se eliminan bases de datos, el siguiente ejemplo muestra la creación y eliminación de una base de datos “borrar”.Previo a las operaciones de creación de la base de datos se usa el comando SHOW DATABASES para ver la lista de bases de datos existentes.

Creación y borrado de una base de datos MODIFICAR LA ESTRUCTURA DE UNA TABLA: Mediante las instruccionesALTER TABLEyADD se puede modificar la estructura de las tablas de una base de datos, las modificaciones contemplan agregar nuevos campos, redefinir nombres de campos y tablas yeliminar campos. Agregar un nuevo campo: Para agregar un nuevo campo a una tabla, se usa las instrucción ALTER TABLE y ADD, según se muestra en los siguientes ejemplos, donde se agrega los campos “fecha_vinc” (fecha de vinculación) y“numero_hijos” (número de hijos)


El comando “describe” muestra la nueva estructura de la tabla. El siguiente ejemplo muestra la consulta para agregar un campo “a_nacimiento”

Modificar definición de campos: Para modificar la definición de los campos se usa las instrucciones ALTER TABLEy CHANGEsegún se ilustra y explica en los siguientes ejemplos:

Cambio del campo “a_nacimiento”, de tipo YEAR, a“dia_cumple”de tipo DATE


Para cambiar la definición, o tipo de dato, del campo sin cambiar su nombre se hace según muestra el siguiente ejemplo.

Usando la clausula MODIFYpuede cambiarse un nombre de campo sin repetir el antiguo.

Cambiar el nombre de una tabla: Para cambiar el nombre de una tabla se usa lainstrucciónRENAME dentro de la instrucciónALTER.La siguiente imagen muestrala ejecución del la sentencia para el cambio de nombre y la verificación mediante la instrucción SHOW TABLES.Se cambia el nombre de la tabla “vendedor” a “profesionales_de_venta”

A continuación cambiamos el nombre de la tabla para que nuevamente sea“vendedor”.


Eliminar un campo: Para eliminar un campo de tabla se usa las instrucciones ALTERyDROPsegún se ilustra a continuación, donde se elimina el campo “numero_hijos” antes creado. También se ve que en el resultado de la instrucción DESCRIBE ya no aparece campo en mención.

Especificar formato de fecha: Mediante la instrucción DATE_FORMAT()se puede establecer el formato de fecha. Antes de realizar consultas en las que definamos como mostrar la fecha, insertamos mayo 28 de 2011 como la fecha de vinculación de los actuales vendedores, lo hacemos mediante la sentencia mostrada en la siguiente imagen:

Al realizar la consulta de toda la información de los vendedores, MySQL muestra la fecha en el formato estándar “AAAA-MM-DD”.


A continuaci贸n veamos ejemplos de definici贸n de formatos para la fecha.

Consulta que muestra la fecha en formato MM/DD/AA.


El parámetro%w corresponde al día de la semana, %M,al nombre del mes,%e, al dia (131) y %y, al año en formato de dos dígitos. Ver o recuperar la fecha actual y la hora: Conestos propósitos, la función CURRENT_DATA(),incluida en una consulta, da como resultado la fecha actual, mientras que NOW()da la fecha y la hora.

Otras funciones relacionadas con fechas y horas que podemos usar en consultas MySQL son MONTH() yDAYOFMONTH()(Mes y dia del mes), el siguiente ejemplo indica su uso:

Aplicar un nuevo encabezado a un campo: En una consultase puede indicar instrucciones que muestren un encabezado diferente al nombre del campo. El siguiente ejemplo muestra el uso de la instrucción AS con este fin.

Combinar campos:


Si como resultado de una consulta queremos visualizar dos o más valores de campos, combinados en uno solo, podemos usar la función CONCAT.

Concatenación de nombre y apellido en un solo campo. Buscar día del año: La función DAYOFYEAR()muestra el día del año, en el rango 1-366.veamosun ejemplo:

TRABAJAR CON VARIAS TABLAS: El verdadero aprovechamiento que se da a la tecnología de bases de datos consiste en el uso de asociaciones entre diferentes tablas de la base de datos, en los diversos ámbitosreales en que se usa bases de datos, se cuenta con varias tablas. Para ser consistentes con este hecho, creamos a continuación dos tablas: “clientes” y “ventas”.


La tabla “ventas” se crea de tal forma que uno de sus campos es el cliente al que se le vende y otro es el vendedor(“vndor”).Necesitamos datos en las tablas recién creadas, las siguientes imágenes muestran la creación de algunos registros en la tabla “clientes”.

En la siguiente imagen vemos el resultado de la consulta que muestra datos introducidos.

A continuación mostramos la creación de algunos registros en la tabla ventas, nótese que en los campos “vndor” y “cliente” aparecen datos de los campos “id_vendedor” e “id_cliente” de las tablas “vendedor” y “clientes” respectivamente. También se muestra la consulta para ver datos introducidos.


Combinar dos o más tablas: A continuación, escribiremos una consulta cuyo resultado es mostrar información de “vendedor” y “cliente” de una venta específica.

Para referirse a un campo específico de una tabla se suele usar los nombres de la tabla y del campo separados por un punto. En el ejemplo anterior “vendedor.id_vendedor” y “ventas.vndor”corresponden a la identificación del vendedor que realiza la venta, estos campos podrían tener los mismos nombres en diferentes tablas, razón por la cual se usa la notación de nombres separada por puntos, pero en este ejemplo, dado que los nombres de los campos son distintos, podemos obtener el mismo resultado si omitimos el nombre de la tabla y el punto de separación. El siguiente ejemplo ilustra este hecho.


La parte contenida entre SELECT y FROM especifica los campos a recuperar de las dos tablas indicadas entre FROMyWHERE, estas tablas son “ventas”y“vendedor”.La parte que sigue a la clausula WHERE especifica el criterio o condición de selección la consulta. En el siguiente ejemplo ejecutamos la consulta para obtener toda la información de ventas realizadas por el vendedor Sebastián Ariza. Las tablas de las cuales la tomaremos son “vendedor”y“venta” y los campos a seleccionar son “cod_ventas”,“cliente”,“valor”, mientras que la condición para realizar la selección es quién realiza las ventas, lo cual se establece a través campo que vincula las tablas, es decir la identificación del vendedor.

Agrupación de una consulta: Son diferentes las consultas en las que se realiza agrupación según algún campo, a continuación analizamos algunos ejemplos.


Consulta que calcula el valor total de las ventas. Si queremos calcular, por ejemplo, las ventasrealizadas por cada vendedor, podríamos pensar en realizar una consulta por cada uno, pero para ello SQL nos proporciona la instrucciónGROUP BY, la siguiente imagen muestra el ejemplo.

Tablas ISAM Las tablas ISAM o Método de Acceso Secuencial Indexado era el estándar de MySQL anterior ala versión 3.23.0 y fueron sustituidas por las tablas MyISAM. La diferencia fundamental entre estas tablas se relaciona con el manejo de índices de los cuales la llave primaria es el más conocido. En este sentido vale indicar que el uso del tipo de tablas MyISAM es más eficiente. Si ya se ha creado una tabla sin definir su tipo, se puede definir el tipo MyISAM mediante una instrucción con la siguiente sintaxis: ALTER TABLE nombre-de-tabla TYPE = MYISAM; En la siguiente imagen se muestra la conversión de las tablas “clientes”, “vendedor” y “ventas” como tablas del tipo MyISAM.



MySQL unidad 3