Vous êtes sur la page 1sur 17

DISEO DE BASE DE

DATOS MYSQL
(BSICO)

MATI. IVN ORTIZ RAMREZ


turulo75@hotmail.com
turulo75@hotmail.com

Ordenar datos
Podemos ordenar el resultado de un "select" para que los registros se
muestren ordenados por algn campo, para ello usamos la clusula "order
by".
Por ejemplo, recuperamos los registros de una tabla ordenados por un
campo:
select CAMPO1,CAMPO2 from TABLA order by CAMPO_ORDEN;
Por defecto, si no aclaramos en la sentencia, los ordena de manera
ascendente (de menor a mayor). Podemos ordenarlos de mayor a menor,
para ello agregamos la palabra clave "desc":
select CAMPO1,CAMPO2 from TABLA order by CAMPO_ORDEN desc;

Operadores Lgicos (and, or y not)


Hasta el momento, hemos aprendido a establecer una condicin con "where"
utilizando operadores relacionales.
Podemos establecer ms de una condicin con la clusula "where", para ello
aprenderemos los operadores lgicos. Son los siguientes:
and, significa "y",
or, significa "y/o",
xor, significa "o",
not, significa "no", invierte el resultado
(), parntesis
Los operadores lgicos se usan para combinar condiciones.
Ejemplo:
Queremos recuperar todos los registros cuyo autor sea igual a "Borges" y
cuyo precio no supere los 20 pesos, para ello necesitamos 2 condiciones:
select * from libros where (autor='Borges') and (precio<=20);

Operadores Lgicos (and, or y not)


Queremos ver los libros cuyo autor sea "Borges" y/o cuya editorial sea
"Planeta":
select * from libros where autor='Borges' or editorial='Planeta';
Queremos ver los libros cuyo autor sea "Borges" o cuya editorial sea
"Planeta":
select * from libros where (autor='Borges') xor (editorial='Planeta');
Queremos recuperar los libros que no cumplan la condicin dada, por
ejemplo, aquellos cuya editorial NO sea "Planeta":
select * from libros where not (editorial='Planeta');

Bsqueda de patrones
Imaginemos que tenemos registrados estos 2 libros:
1. El Aleph de Borges;
2. Antologia poetica de J.L. Borges;
Si queremos recuperar todos los libros cuyo autor sea "Borges",
especificamos la siguiente condicin:
select * from libros where autor='Borges';
Esto sucede porque el operador "=" (igual), tambin el operador "<>"
(distinto) comparan cadenas de caracteres completas. Para comparar
porciones de cadenas utilizamos los operadores "like" y "not like".
Para recuperar todos los registros cuyo autor contenga la cadena
"Borges debemos tipear:
select * from libros where autor like "%Borges%";
El smbolo "%" (porcentaje) reemplaza cualquier cantidad de caracteres
(incluyendo ningn caracter). Es un caracter comodn.

Funciones de agrupamiento
Existen en MySQL funciones que nos permiten contar registros, calcular
sumas, promedios, obtener valores mximos y mnimos. Ya hemos aprendido
"count()", veamos otras.
La funcin "sum()" retorna la suma de los valores que contiene el campo
especificado. Por ejemplo, queremos saber la cantidad de libros que
tenemos disponibles para la venta:
select sum(cantidad) from libros;
Tambin podemos combinarla con "where". Por ejemplo, queremos saber
cuntos libros tenemos de la editorial "Planeta":
select sum(cantidad) from libros where editorial ='Planeta';
Para averiguar el valor mximo o mnimo de un campo usamos las funciones
"max()" y "min()" respectivamente.
Ejemplo, queremos saber cul es el mayor precio de todos los libros:
select max(precio) from libros;

Funciones de agrupamiento
Queremos saber cul es el valor mnimo de los libros de "Rowling":
select min(precio) from libros where autor like '%Rowling%';
La funcin avg() retorna el valor promedio de los valores del campo
especificado. Por ejemplo, queremos saber el promedio del precio de los
libros referentes a "PHP":
select avg(precio) from libros where titulo like '%PHP%';
La funcin "count()" cuenta la cantidad de registros de una tabla, incluyendo
los que tienen valor nulo.
Imaginemos que nuestra tabla "libros" contiene muchos registros. Para
averiguar la cantidad sin necesidad de contarlos manualmente usamos la
funcin "count()":
select count(*) from libros;
Para saber la cantidad de libros de la editorial "Planeta" tipeamos:
select count(*) from libros where editorial='Planeta';

Funciones de agrupamiento
Para contar los registros que tienen precio (sin tener en cuenta los que
tienen valor nulo), usamos la funcin "count()" y en los parntesis
colocamos el nombre del campo que necesitamos contar:
select count(precio) from libros;

Agrupar registros
Hemos aprendido que las funciones de agrupamiento permiten contar
registros, calcular sumas y promedios, obtener valores mximos y mnimos.
Tambin dijimos que dichas funciones operan sobre conjuntos de registros,
no con datos individuales.
Generalmente esta funciones se combinan con la sentencia "group by", que
agrupa registros para consultas detalladas.
Queremos saber la cantidad de visitantes de cada ciudad, podemos tipear la
siguiente sentencia:
select count(*) from visitantes where ciudad='Cordoba';
y repetirla con cada valor de "ciudad":
Pero hay otra manera, utilizando la clusula "group by":
select ciudad, count(*) from visitantes group by ciudad;
Para obtener la cantidad visitantes con telfono no nulo, de cada ciudad

Tipo de Dato fecha

MySQL permite devolver las fechas en un formato especial, en lugar de


utilizar el formato estandar AAAA-MM-DD.
Para devolver los datos de toda la tabla en formato MM/DD/AAAA, utilice la
funcin date - format ( ) , de la siguiente forma:
select date_format (NOMBRE DEL CAMPO, %m/%d/%y) from TABLA where
CAMPO=VALOR;
select date_format (NOMBRE DEL CAMPO, '%w %m %e %y') from TABLA
where CAMPO= VALOR;
select date_format (NOMBRE DEL CAMPO, %a %D %b, BY I) from TABLA
where CAMPO=VALOR;

Recuperar la fecha y la hora actual


Para determinar la fecha actual, segn el servidor, puede utilizar la funcin
CURRENT - DATA(). Tambin existe otra funcin, NOW (), que devuelve la
hora:
Select now(),current_date() ;
Para devolver los datos de toda la tabla en formato MM/DD/AAAA, utilice la
funcin date - format ( ) , de la siguiente forma:
select date_format (NOMBRE DEL CAMPO, %m/%d/%y) from TABLA where
CAMPO=VALOR;
select date_format (NOMBRE DEL CAMPO, '%w %m %e %y') from TABLA
where CAMPO= VALOR;
select date_format (NOMBRE DEL CAMPO, %a %D %b, BY I) from TABLA
where CAMPO=VALOR;

Subir datos en un archivo a una Tabla en MySQL


LOAD DATA sirve para tomar cualquier archivo separado por comas, aunque
no necesariamente son comas y cargarlo como datos en alguna tabla de
MySQL.
Si se especifica LOCAL, se interpreta respecto al cliente final de la
conexin:
Si especificamos LOCAL, el programa cliente lee el fichero en el equipo
cliente y lo enva al servidor. Podemos indicar la ruta completa del fichero
para especificar su localizacin exacta. Si indicamos la ruta relativa, el
fichero se interpreta relativo al directorio en el que el cliente se inici.
Si no se especifica LOCAL , el fichero tiene que estar en el equipo servidor
y el servidor lo lee directamente.
La sintaxis bsica es:
Load data local infile ARCHIVO.TXT into table NOMBRE DE LA TABLA lines
terminated by \r\n;

Trabajar con varias tablas


El verdadero potencial de las bases de datos relacionales reside en la
posibilidad de establecer relaciones entre las tablas.
Hasta ahora solo hemos trabajado con una tabla para familiarizarnos con la
sintaxis de SQL.
La mayor parte de las aplicaciones del mundo real constan de varias tablas,
por lo que necesitaremos aprender a trabajar en estas situaciones.
Por ejemplo, los datos de nuestra tabla "libros" podran separarse en 2
tablas, una "libros" y otra "editoriales" que guardar la informacin de las
editoriales.
En nuestra tabla "libros" haremos referencia a la editorial colocando un
cdigo que la identifique.

Trabajar con varias tablas


Primero crearemos nuestras 2 tablas:
create table libreria( codigo int unsigned auto_increment, titulo varchar(40) not null,
autor varchar(30) not null default 'Desconocido', codigoeditorial tinyint unsigned not
null, precio decimal(5,2) unsigned, cantidad smallint unsigned default 0, primary
key (codigo) );
create table editoriales( codigo tinyint
varchar(20) not null, primary key(codigo) );

unsigned

auto_increment,

nombre

Cuando obtenemos informacin de ms de una tabla decimos que hacemos


un "join" (unin). Veamos un ejemplo:
select * from libreria join editoriales on libreria.codigoeditorial=editoriales.codigo;

EJERCICIO PRACTICO

USO de XAMPP para crear Base de datos

XAMPP Practico

GRACIAS!!

Vous aimerez peut-être aussi