MySQL unidad 2

Page 1

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 DOS: CONSULTAS BÁSICAS SOBRE UNA TABLA

INTRODUCCIÓN: En esta unidad, con el fin que el estudiante se familiarice con el manejo de consultas, abordamos el trabajo sobre una tabla de una base de datos, se presenta un conjunto de consultas básicas de ejemplo para crear tablas, visualizar su estructura, insertar datos, visualización de datos almacenados, ordenación de información a visualizar según criterios específicos, actualización y eliminación de registros, entre otras. Creación de tablas en una base de datos: Para la creación de tablas en una base de datos se utiliza el comando CREATE TABLE,seguido del nombre que se dará a la tabla, luego del nombre se escribe entre paréntesis y separados por comas los nombres de los campos de la tabla y los respectivos tipos de datos. En el siguiente ejemplo creamos una tabla “vendedor” en la base de datos “primerabd”. Ejemplo: creación de una tabla “vendedor” en la base de datos “primerabd”. La siguiente imagen ilustra la cadena de comandos requerida para crear una tabla con el nombre “vendedor” en la base de datos “primerabd”, la tabla guardará información sobre identificación, apellido y nombre del vendedor, así como comisión por ventas.

Nótese que en este ejemplo se ilustra la forma de escribir una sentencia en varias líneas, siempre que se escribe parte de una instrucción y se pulsa la tecla Enter, el software asume que la sentencia no se ha terminado de escribir y que está compuesta por varias líneas, en este caso el cursor aparece en la línea siguiente luego del indicador ->.


Ver tablas de una base de datos: Con elcomando SHOW TABLES,se puede verel listado de todas las tablas de la base de datos. El siguiente ejemplo muestra el uso de la instrucción y el resultado indicando las tablas en la base de datos“primerabd”, sólo una hasta este momento.

Ver la estructura de las tablas: La estructura de una tabla se refiere a su definición en términos de los nombres de los campos que la forman y características de los mismos, como por ejemplo el tipo de dato de cada campo. El comando DESCRIBE,seguido del nombre de la tablamuestra su estructura, es un comando útil para verificar que la tabla tenga la estructura requerida.

Insertar nuevos registros en una tabla: Para la operación de inserción de registros en una tabla se utiliza el comando INSERT. A manera de ejemplo insertemos en la tabla “vendedor”los siguientes registros:

id_vendedor 1 2 3 4

apellido Ariza Campo Ariza Medina

nombre Danilo Johno Sebastian Catalina

comision 10 15 12 10


Con este fin, SQL ofrece diferentes variantes del comando INSERT. La siguiente imagen muestra el uso del comando para la inserción del primer registro.

Una forma más sencilla de realizar la misma operación evita la necesidad de especificar los nombres de los campos, tal como se muestra a continuación:

Se debe tener cuidado de insertar los datos según el orden en que se definieron los campos de la tabla. Una forma aún más sencilla permite insertar varios registros en una única sentencia, escribiendo los conjuntos de datos de registrosseparados por comas, en cada conjunto los datos se escriben entre paréntesis y también separados por comas. Veamos un ejemplo.

De esta manera se reduce la cantidad de código requerido, dándose una ganancia en la rapidez con que el servidor procesa la acción.

Inserción de grandes cantidades de datos desde un archivo detexto:


El uso del comandoLOAD DATAes la forma más eficiente de insertar cuando se necesita ingresar grandes cantidades de datos. Si deseáramos usar esta forma de inserción en el ejemplo que venimos trabajando, la sentencia para ello sería la siguiente: mysql>LOAD DATA LOCAL INFILE " vendedor.sql” INTO TABLEvendedor; El formato de archivo debe coincidir con el de los datos a insertar. En el archivo, cada registro corresponde a una línea y en cada línea los campos se separan por un tabulador. Recuperar información de una tabla: Elcomando SELECT es fundamental para consultar información contenida en una base de datos. Se puede usar sus diferentes variantes para consultar información de una o varias tablas. La siguiente imagen muestra la sentencia y el resultado al consultar “nombre”,“apellido” y “comisión” de los vendedores de apellido „Ariza‟.

La sentencia completa, en este caso, consta del propio comando SELECT, los nombres de los campos, la clausula WHERE y un criterio de selección.

Si se desea seleccionar todos los campos, se puede sustituir la lista por el caracter comodín (*), tal como se muestra a continuación.

Orden de procesamiento de las condiciones de selección: Al aplicar varias condiciones en el criterio de selección se requieretomar en cuenta el orden en que SQL las procesa, muchos resultados no esperados, se deben a errores en la lógica de las sentencias, las imágenes siguientes muestran dos consultas diferentes, la inclusión de paréntesis en una de ellas altera el orden de ejecución.


Uso de la instrucción LIKE: La instrucción LIKE resulta muy útil cuando requerimos usar parte del valor de un campo en un criterio de selección, por ejemplo al no saber la correcta escritura de un nombre o apellido.El símbolo de porcentaje (%) corresponde a un comodín sustituible por cero o más caracteres. Los siguientes ejemplos ilustran modos de uso de esta instrucción.

Uso de LIKE para ver registros cuyo campo apellido inicia con “Ar”.

Uso de LIKE para ver registros que en el campo nombre incluyen “ebas”.


Consulta que busca registros en los que el campo apellido termina con “a” Ordenación de registros en una consulta: Es común requerir que los datos a mostrar como resultado de una consulta,se presenten ordenados según algún criterio. La clausula ORDER BY es muy útil en este propósito. A continuación presentamos algunos ejemplos de consultas con ordenamiento.

Consulta que muestra los registros ordenados según el campo apellido. Para que el orden de presentación de los datos sea inverso o descendente, se utiliza la palabra clave DESC.La siguiente consulta muestra todos los registros según el valor del campo “comision”, presentando la información correspondiente en orden descendente.


En el resultado anterior, la lista inicia con los registros que tienen mayor valor en el campo “comisión”, pero al haber varios con el mismo valor, estos últimos no obedecen un orden específico. Se puede ordenar según otro campo los registros que tienen iguales valor en el campo de ordenamiento principal. En la siguiente imagen el resultado de la consulta muestra los registros ordenados descendentemente primero según el campo “comisión” y aquellos que tienen el mismo valor se ordenan descendentemente según “apellido”.


Limitar el número de resultados de una consulta: MySQL mediante la clausula LIMIT, que no es una instrucción convencional de SQL, limita el número de resultados a mostrar, por ejemplo, la consulta ilustrada a continuación muestra como resultado los dos primeros registros de la lista ordenada descendentementesegún el valor de “comisión” y según “apellido”.

Al incluir un solo número luego de la clausula LIMIT, como en el ejemplo anterior, el número escrito indica la cantidad de filas a mostrar, si se escriben dos números, el primero de ellos indica el registro inicial y el segundo indica el número de resultados a mostrar, en lo concerniente al registro inicial,dado como resultado de la consulta, se debe tener en cuenta que al primero de todos los registro de la lista ordenada le corresponde el número cero (0). Veamos los siguientes ejemplos.

Consulta que muestra 2 resultados comenzando por el Segundo.

Consulta que muestra cuatro resultados comenzando por el tercero.


Uso de la función MAX(). Se usa esta función para obtener información correspondiente al mayor valor del campo escrito entre los paréntesis, por ejemplo, la siguiente consulta nos muestra el mayor de todos los valores del campo comisión.

Recuperación de registros distintos: Frecuentemente puede ser necesario obtener el conjunto de diferentes valores que toma un campo, para evitar mostrar valores repetidos se usa la instrucción DISTINCT en la clausula de selección, a continuación tenemos un ejemplo.


Funci贸n de conteo: Para realizar operaciones de conteo sobre registros se utiliza la funci贸nCOUNT(). El siguiente ejemplo cuenta el n煤mero de apellidosen la tabla vendedor.

Seg煤n la estructura de la sentencia anterior, no importa mucho el campo que se cuente, dado que la tabla tiene la misma cantidad de nombres que de apellidos o de comisiones, se obtiene el mismo resultado usando COUNT(*).

Sin embargo, si se quiere contar valores distintos de un campo se debe especificar el campo correspondiente. Los ejemplos siguientes ilustran el hecho.

Consulta que cuenta los apellidos distintos en la tabla


Consulta que cuenta los distintos valores de comisiones en la tabla. Cálculo de promedio, valor mínimo y total: Se usa respectivamente las funciones AVG(), MIN()ySUM().En los paréntesis se escribe el campo sobre el cual se requiere el cálculo.

Consulta que muestra el promedio de valores del campo “comisión”.

Consulta que muestra el valor mínimo del campo “comisión”


Cálculos en una consulta: Nos referimos aquí a útiles operaciones matemáticas que se realizan, dentro de una consulta, con base en los valores de campos numéricos o fecha.La imagen siguiente muestra los registros con el valor que tendría la comisión si se aumentara en 1%.

Eliminación de registros: La operación de eliminación usa el comando DELETE.Como se elimina el registro solo se requiere indicar el criterio para realizar la eliminación. Para ilustrar el uso de DELETE, tenemos a continuación la consulta que muestra 13 registros en la tabla vendedor, seguidamente realizamos la eliminación del registro cuyo id_vendedor es 5, esto se refleja en el resultado de una nueva consulta de visualización.


Se podría usar nombre o apellido como criterio de eliminación, pero es más conveniente realizarla con base en un identificador exclusivo, evitando así eliminaciones no deseadas. Es de aclarar que DELETE no se puede usar para eliminar tablas ni bases de datos, sólo es aplicable a registros o conjunto de registros específicos. Actualización de registros: En la actualización de registros se usa la instrucción UPDATE, seguida de la tabla que contiene el registro o registros a actualizar. El siguiente ejemplo ilustra el uso de de comandos de actualización. Primero ejecutamos una consulta de visualización para observar los registros contenidos en la tabla vendedor, luego se ejecuta la instrucción de actualización y finalmente se verifica que se realizó el cambio.


En este ejemplo cambiamos el nombre “Johno” por “John”. En la siguiente unidad tendremos la oportunidad de trabaarconsultas definidas para eliminar bases de datos y tablas, así como aquellas útiles en la modificación de la definición de tablas. También iniciaremos el trabajo con varias tablas.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.