Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Las imgenes anteriores nos dicen el sitio en el que buscar, el apartado del sitio
en el que debemos buscar, el tipo de instalador que debemos buscar (en
nuestro ejemplo hemos buscado el instalador para el sistema operativo
Windows), de donde sacaremos los archivos para instalar, el archivo al que
debemos acceder para iniciar la instalacin y la forma de iniciar nuestra sesin
en MySQL como usuario raz o ROOT.
Despus de lo anterior, nos resta decir que a partir de nuestra prxima entrega,
empezamos a ver a fondo lo que son realmente las bases de datos.
Bien, las bases de datos estn conformadas por TABLAS, que son las
contenedoras de la informacin. Es decir, la base de datos sera el cuarto
conteniendo las cajas (que seran las tablas). Las tablas contienen campos,
formados por filas y columnas.
Imaginemos una tabla dentro de una base que contenga dos columnas: Nombre
y Apellido. Las columnas representan la informacin genrica de la tabla, que es
en donde se guardar la informacin especfica, es decir, en las filas.
As pues, si tenemos un par de datos que guardar, es decir un nombre y un
apellido, digamos: Ernesto Chvez; estos datos formaran una fila, pues
- El nombre de la persona
- El apellido de la persona
- El nmero de su licencia
Esta es nuestra bicicleta con las flores
Lenguaje SQL
Hola de Nuevo, damas y caballeros. En esta nuestra nueva entrega, siendo que
lo prometido es deuda, empezamos los pormenores, tanto de SQL como de
MySQL en especfico.
SQL es una lenguaje de alto nivel, lo que entre otras cosas, quiere decir que es
un lenguaje que, para los mortales (nosotros) es mucho ms sencillo de
comprender que los lenguajes de bajo o de medio nivel (como Ensamblador o C
respectivamente).
Por ejemplo, para decirle a SQL (o en nuestro caso a MySQL a travs de SQL)
que muestre los datos en una tabla especfica le decimos:
SELECT * FROM Nombre_de_tabla;
Para el que sepa un poquitn de ingls o para el que tenga un diccionario
espaol-ingls, ingls-espaol a la mano, ser ms que sencillo comprender las
generalidades de la sentencia anterior.
Pero bueno, antes vender el cuero, sin antes haber matado al tigre
No hay nada como MOSTRAR (y si no lo creen pregntenle a las bailarinas o
bailarines strippers) y en MySQL eso es sencillo con la sentenciaSHOW.
La sentenciaSHOWtiene una sintaxis sencilla y en nuestro ejemplo siguiente,
lo utilizamos en tres diferentes formas:
SHOW DATABASES;
SHOW TABLES;
SHOW COLUMNS FROM nombre_de_tabla;
En nuestra siguiente entrega vamos a aprender la forma en la que creamos una
base de datos en MySQL, por el momento: Hasta Pronto.
En fin, comencemos:
Y eso es todo, es as de fcil?, si es usted (si usted) de las personas que gustan
de presumirle a las amistades de lo mucho que sabe, y quera presumir sobre
sus conocimientos nicos de crear bases de datos, dada la dificultad que
representa, lo sentimos, su objetivo no se cumplir.
Esto no hace que la base de datos que estamos creando sobreescriba que la que
ya existe, sino que simplemente evitamos que MySQL nos de ese error. Si lo
que se estn preguntando es y qu ganamos con eso?, pues bien, en realidad
es una cuestin de forma. Supongamos que tenemos una aplicacin que utiliza
nuestro motor de base de datos, digamos PHP y a la hora de utilizar la
As de sencillo es tanto crear como borrar bases de datos. Pero como dicen, para
muestra un botn, vean el siguiente vdeo:
Creando tablas
Lo que necesitamos hacer es utilizar la sentencia SQL que nos permite crear
tablas, siempre y cuando tengamos una base de datos que la contenga, es
decir:
CREATE
TABLE
nombre_tabla
(campo1
tipo(longitud), campo_n tipo(longitud));
tipo(longitud),
campo2
Antes de finalizar con esta leccin, debemos hacer una aclaracin, en el vdeo
mostrado, despus de la sentencia CREATETABLE uno(, hemos presionado
la tecla ENTER o INTRO simple y sencillamente para hacer ms comprensible
las columnas que han de integrar dicha tabla, sin embargo, la tabla pudo
haberse creado sin la necesidad de presionar la tecla ENTER o INTRO, teniendo
Bien, ya sabemos como crear tablas dentro de una base de datos, pero antes de
aprender a llenar los espacios en las tablas, debemos saber los tipos de datos
que podemos insertar en las tablas y sus secretitos. Dicho esto, los dejamos
pensando en esa parte del vdeo en la cual, despus del nombre de la
columnas, hemos escrito cuatro letras: char y un nmero.
Recuerden siempre, por favor, lo que dice Ernesto Sbato: Las modas son
legtimas en las cosas menores, como el vestido. En el pensamiento y en el arte
son abominables Nunca, jams de los jamases, permitamos que nuestro arte o
nuestro pensamiento estn a la moda Hasta Pronto.
Tipos de datos
Estamos juntos de nuevo y les damos la bienvenida.
En la ltima leccin creamos una tabla de nombre UNO, contenida en una base
de datos de nombre PERSONAS. Sin embargo, hubo algo que no explicamos, y
es que debemos decirle a MySQL el tipo de datos que almacenar la columna
que estamos creando dentro de la tabla.
Los tipos de datos que puede permitirnos MySQL es muy variada y se los
referimos a continuacin:
CHAR/CHAR(): Las columnas de tipo char o char() almacenan un carcter o
una cadena de caracteres de 0 hasta 255 respectivamente (Si lo recuerdan,
este fue el tipo de datos que le asignamos a todas nuestras columnas en la
tabla UNO)
BIT
BOOL
BOOLEAN:Todos estos tipos son sinnimos de TINYINT(1).
precisin sencilla y de 25 a 53 para una precisin doble. Para flota(), los valores
permitidos van desde -3402823466E+38 y -1.175494351E-38, 0, y entre
1.175494351E+38 y 3.402823466E+38. En caso de espcificarse el modificador
UNSIGNED los valores negativos no son permitidos.
DOUBLE PRECISIN
REAL: Son sinnimos deDOUBLE
DEC
NUMERIC
FIXED: Son todos sinnimos de DECIMAL
DATE: Almacena un valor de fecha, los rangos permitidos son desde 1000-0101 y 9999-12-31 (Fecha en la que podra que nosotros ya no estemos vivos).
El formato de fecha presentado es, como ya lo habrn imaginado AAAA-MMDD
TIME: Es una hora que permite los valores -838:59:59 a 838:59:59. Los
valores se muestran en formato HH:MM:SS
Los siguientes tipos son para datos sin tipo o grandes cantidades de datos.
TINYBLOB
TINYTEXT:Almacena una columna BLOB o TEXT con una longitud de hasta 255
caracteres (28-1)
BLOX
TEXT: Almacena una columna BLOB o TEXT con una longitud de hasta 65535
caracteres (216-1)
MEDIUMBLOB
MEDIUMTEXT: Almacena una columna BLOB o TEXT con una longitud de hasta
16777215 caracteres (224-1)
LONGBLOB
LONGTEXT: Almacena una columna BLOB o TEXT con una longitud de hasta
4294967298 caracteres (232-1)
Muy bien, esta ha sido una mirada rpida (QUEEEEE, ESTO ES RPIDO?) a los
tipos de MySQL. Hay que aclarar que una vez se define una columna como
almacenadora de un tipo, no habremos de intentar guardar valores de un tipo
diferente dentro de ellas. OJO y mucho cuidado en esto.
Esta, los sabemos, ha sido una leccin larga, pero necesaria, as que, sin ms ni
ms, Hasta Pronto.
Insertar datos
Hola, sean bienvenidos a esta reunin.
La garanta de que nuestras bases de datos estn funcionando como Dios
manda, es que haya datos que se estn insertando constantemente.
En esta nueva leccin, vamos a aprender como insertar datos en MySQL. Tal y
como vimos en nuestra leccin anterior, debemos tener siempre en cuenta que
los tipos de datos que vamos a almacenar en nuestras columnas sean el tipo de
datos que hemos definido a la hora de crear nuestra tabla.
INSERT INTOes, obviamente, la sentencia SQL que inserta los valores en una
tabla.
VALUESes la palabra que avisa a MySQL que los datos a continuacin son los
que se insertarn.
(valor_1, valor_2, valor_n) son los datos que habrn de insertarse. Las
comas separan los datos dependiendo de la columna a la que pertenecen (el
orden lo especificamos en (columna_1, columna_2, columna_n)
Una palabra sobre las condiciones antes de ver nuestro vdeo. Las condiciones
que le hemos de poner a nuestras inserciones dependern exclusivamente de
nuestras necesidades, por ejemplo, si necesitamos que la columna nombre se
grabe nica y exclusivamente si cumple con la condicin que sea Pancracio,
Muy bien, hemos visto los principal en cuanto a inserciones se refiere, para que
vean un poquitn de prctica, los dejamos con el siguiente vdeo:
Antes de finalizar este nuestro encuentro, hay que decir algo sobre nuestro
vdeo. Como vimos al principio (de hecho hace un par de lecciones), la creacin
de una tabla de nombre UNO en la que definimos cuatro columnas:
Las inserciones de nuestro ejemplo van bien y sin problemas, hasta que
insertamos la columna direccin (que conste no es un error ortogrfico, el
nombre de la columna es direccin sin tilde). Como seguramente habrn
notado, la direccin que intentamos insertar es de ms de 45 caracteres. Qu
ocurri? Sencillo, MySQL tiene una definicin de una columna y respetar esa
decisin hasta el final (no sera genial que algunos personajes de la vida
pblica hiciesen lo mismo?), cualquier intento de insertar ms caracteres de los
especificados resultar en el truncado de todos los caracteres que se
sobrepasen la longitud definida para la columna.
Seleccionar datos
SELECCIONAR o no SELECCIONAR, esa es la cuestin.
Hola, cmo les va?
0245f0124n01214;
Claro est, esta es una suposicin bastante global, pero podra estar muy
acertada.
Modificar datos
No hay nada como saberse vivo. Y una muestra clara de que estamos vivos es,
precisamente, el hecho de estar juntos una vez ms en esta leccin, ocasin
por dems fabulosa para celebrar la vida.
Exacto, esa misma sera su cara. Por tanto, las actualizaciones son una parte
vital de una buena y sana base de datos.
Borrado de datos
Hola, que bueno tenerlos de regreso!
Se imaginan lo que podra pasar si un registro de votantes no sacase a las
personas que van muriendo ao con ao? Claro est, la base de datos podra
colapsar en un determinado momento debido a la cantidad enorme de datos
que se guardaran en ella.
Y, cul creen ustedes que es el proceso que debe llevarse a cabo para hacer
esa limpieza de personas? As es: es elBORRADO.
la
condicin
WHERE
el
En caso de que necesitemos poner algunos obstculos en el camino del usuario
para evitar que los datos sean borrados a troche y moche. Algunas opciones
podran ser un subformulario en JavaScript o una simple pgina intermedia de
PHP que le pregunte al usuario un nombre de usuario y/o una contrasea para
poder hacer el borrado de tal o cual dato (no saben de PHP?, heeeeeey, hay
dos cursos gratis aqu en aulafacil.com, no hay razones para preocuparse)
Ustedes perdonarn la insistencia patolgica en el cuidado al borrar datos, pero
crannos, es un verdadero calvario encontrarse con datos borrados por
accidente, todo gracias a que no supimos poner un filtro para nuestro querido
usuario.
Bueno, despus de haberle pedido al usuario hasta el acta de defuncin para
poder borrar algo, veamos a nivel de MySQL lo que ocurre, les parece?
Seleccin inexacta
No les ha ocurrido que de cuando en cuando no estn seguros de si un nombre
se escribe de tal o cual forma. Por ejemplo, el nombre Andros (nombre griego
que significa Hombre) podra confundrsenos con el nombre Andrs o viceversa.
Por favor tenga mucho cuidado en la forma en la que escriben la sentencia LIKE,
es decir lo que est a continuacin de la sentencia LIKE. Por favor no olviden
que la forma en la que tenemos que escribirla es primero, comillas simple;
segundo signo de porcentaje; luego la bsqueda como tal; signo de porcentaje
de nuevo; y comillas simples para cerrar la sentencia. Cualquier error en esta
sintaxis, ocasiona un error.
Esta es la forma en la que la sentencia LIKE funciona. En nuestra siguiente
leccin aprenderemos aALTERARalgunas cosas en una tabla. Por el momento
recuerden lo que dijo Lucio Anneo Sneca: La vida es como una leyenda: no
importa que sea larga, sino que est bien narrada
Alterar
Hola a todos y todas, cmo estn?
El alterar una tabla no es del todo conveniente, pero se hace a veces necesario.
El alterar una tabla implica a veces el cambiarle de nombre a la tabla, o
cambiarle el tipo de datos que almacenar una tabla, o el cambio del nombre
de la columna, etc.
Por qu no es del todo conveniente? En realidad es un temor milenario
transmitido a travs del ADN como un terror instintivo de cualquier
programador o encargado de una base de datos. Claro est, este temor no es
infundado, no seor. El temor se deriva de una serie de razones, para
mencionar alguna, imaginen ustedes lo que sucedera si, una vez creada la base
de datos, insertados una cantidad considerable de datos y teniendo nuestra
aplicacin siendo utilizada por una gran cantidad de personas que insertan,
borran, modifican y consultan nuestra base, necesitamos cambiar el nombre de
nuestra base por alguna razn. Si la aplicacin que utiliza nuestra base de
datos contiene una cantidad igualmente enorme de llamadas a nuestra base de
datos (especficamente a la tabla a la que le cambiamos el nombre), entonces
nuestra aplicacin est llamando a una tabla que ya no existe (al menos, no
existe nunca ms con el nombre que le dimos en un principio), por lo que
nuestra aplicacin (o nuestro motor de base de datos) nos enviar un mensaje
de error diciendo que la base de datos no existe ms y que nuestro puntero
est apuntando (perdn por la obvia redundancia) a un valor nulo (NULLen la
mayora de las veces).
Todo lo anterior se traduce, como ya seguramente lo habrn adivinado en una
cacera de brujas dentro del cdigo de la aplicacin que hace las llamadas a la
tabla a la que le hemos cambiado el nombre. Lo que implica una cantidad de
tiempo invertido (que podra de hecho ser tiempo perdido) en una tarea que no
hubiese sido necesaria si simplemente no le hubisemos cambiado el nombre
desde un principio a nuestra tabla.
Muy bien, despus de haberles asustado, veamos la sintaxis de la
sentenciaALTER, que es la que se utiliza paraALTERARel balance del universo
de nuestra base de datos:
Llaves primarias
Una palabra sobre diferenciacin. Es necesario asegurarnos de que las entradas
en una base de datos puedan ser diferenciadas de otras.
Cuando creamos o modificamos las columnas de una tabla nos podemos dar el
lujo de utilizar un par de sentencias que explicamos a continuacin:
NOT NULL: Esta sentencia le dice a MySQL que el valor que debe guardarse en
la columna en donde la utilizamos no puede ser nulo, lo cual previene nuestra
base de guardar no valores en sus contenedores.
Vean a continuacin el resultado de insertar datos en la tabla que hemos creado
en nuestro vdeo:
Muy bien amigos y amigas, esto es todo lo que respecta a las llaves primarias.
Por el momento recuerden la frase de Billy Wilder: Recuerda que eres tan
bueno como lo mejor que hayas hecho en tu vida Que todo, TODO lo que
vayamos haciendo en nuestras vidas, sea siempre mejor que lo anterior. Hasta
Pronto.
Operadores en MySQL
Hola de nuevo. Esperamos que estn muy bien y con toda la disposicin del
mundo para continuar con nuestro aprendizaje de MySQL.
En MySQL adems de llevar a cabo las operaciones con bases de datos,
podemos tambin llevar a cabo operaciones, no slo con datos guardados en la
base de datos, sino tambin con valores que no necesariamente formen parte
de nuestra base de datos.
Todos conocemos las operaciones bsicas, es decir: la suma, la multiplicacin, la
resta y la divisin. Todas estas operaciones pueden llevarse a cabo sin
problemas en MySQL sin necesidad de recurrir a datos que estn guardados en
la base de datos.
La forma en la que vamos a hacer dichas operaciones es a travs de la
sentenciaSELECT (otras de las bondades de esta sentencia), de la siguiente
forma:
SELECT operacin;
As, la sentencia
SELECT 2+2;
Nos dara como resultado 4 (a que no esperaban una respuesta de este tipo).
Con todo, debemos tener cuidado de la precedencia de los operadores, ya que
algunos operadores tiene mayor precedencia que otros y, por ejemplo, si
hacemos la siguiente operacin:
SELECT 5 + 2 * 2;
La respuesta no ser 14 (teniendo que cuenta que las operaciones se realizan de
izquierda a derecha), sino que ser 9, ya que la multiplicacin tiene prioridad
sobre la suma (lo cual podra tomarse como una especie de racismo
matemtico, pero por fortuna eso, en las sabias e inteligentes matemticas, no
existe).
Finalmente, y antes de ver a los operadores en accin, mencionemos un
operador nuevo (al menos en cuanto a las operaciones matemticas se refiere),
este es, el operadorMdulo (%). Para aquellos conocedores de C, C++ o PHP
les ser muy conocido nuestro viejo amigo Mdulo. Este operador proporciona
el residuo de un cociente, por ejemplo, la operacin:
SELECT 6 % 4;
Nos da como resultado 2, siendo que el residuo de la divisin entre 6 y 4 es 2.
Si lo que se estn preguntando es la utilidad de este operador, en realidad
depende de las necesidades de cada aplicacin o de cada operacin que
necesitemos efectuar con nuestra base de datos.
Ahora s queridos amigos, veamos el resultado de hacer operaciones con
MySQL:
En nuestra siguiente leccin vamos a ver operaciones lgicas en MySQL, por el
momento, qudense con las palabras del maestro Joaqun Sabina: El gobierno
si yo fuera presidente, no dudara tanto en hincarle el diente, al ruido de sables
que hay cada mes, que se cruzan los cables del coronel Qu tal? Sabina para
presidente!, no les parece? Hasta Pronto.
Operadores de comparacin
Bienvenidos y bienvenidas. Con un billete de ida hacia el conocimiento,
iniciamos esta nueva entrega.
La operacin de igualdad: 8 = 8
La operacin Mayor que: 7 > 3
La operacin Menor que: 4 < 15
La operacin Mayor o igual que: 3 >= 3
La operacin Menor o igual que: 10 <= 5
La operacin No es igual a: 10 = 3 3 <> 2
Estos son los operadores comparativos con los que podemos trabajar, en
nuestra siguiente entrega, veremos las comparaciones con cadenas que MySQL
es capaz de realizar, por el momento: Hasta Pronto.
Una vez ms, nuestra grande y vieja amiga SELECT hace el trabajo por
nosotros, la forma de hacerlos es:
Por favor presten atencin a lo que encierra a ambos valores de cadena, es decir
a las comillas simples. Lo que las comillas simples hacen, como seguramente ya
habrn imaginado, es decirle a MySQL que el valor a evaluar es precisamente
una cadena de caracteres.
Una de las ventajas de utilizar la sentencia LIKE, es que nos permite utilizar
comodines. Lo que un comodn hace, como en un juego de pker (perdn si no
son tahres como nosotros), es reemplazar o bien un carcter o bien la cadena
completa.
Operadores lgico s
Los operadores lgicos en MySQL nos permiten combinar ms de una expresin,
y obtener un resultado booleano, es decir cierto o falso (1 0
respectivamente).
SELECT 12 = 12 OR 28 = 115;
SELECT 12 = 12 || 28 = 115;
Muy bien queridos amigos, no nos queda ms que decirles que en nuestra
siguiente leccin vamos a ver las expresiones regulares en MySQL; y que
adems necesitamos que no olviden lo que dijo Julios Marx (Groucho):
Encuentro la televisin muy educativa. Cada vez que alguien la enciende, me
retiro a otra habitacin y leo un libro Los comentarios, se los dejamos a
ustedes. Hasta Pronto.
Expresiones regulares
Hola a todos.
En esta nueva entrega vamos a explicar la parte bsica de las expresiones
regulares. Debemos hacer nfasis en el hecho de que el tema de expresiones
regulares es largo y complejo, y que debido a ello trataremos de resumir lo ms
posible.
Las expresiones regulares son una herramienta poderosa que nos ayuda a
seleccionar expresiones de una manera general. Podramos ver a las
expresiones regulares como una enorme extensin de la expresin LIKE, que
ya vimos en una leccin anterior. Decimos que es una extensin debido a que
podemos incluir una serie de operadores lgicos que nos ayudarn a hacer de
nuestra seleccin una seleccin ms especializada y detallada.
Las expresiones regulares son privativas de MySQL, y por ende siguen sus
propias reglas de sintaxis (caprichositas las nenas).
Las expresiones regulares pueden ser utilizadas de muchas formas. Para
muestra un botn:
SELECT rumpelspinskin REGEXP k;
La sentencia anterior nos dara como resultado un valor de 1, lo cual implica que
es un resultado verdadero. Quin nos dice por qu? De acuerdo, el muchacho
de la camisa caf con rombos rojos (un aplauso al que haga juego con nuestra
descripcin) Correcto, la letra k est incluida en la cadena que estamos
evaluando.
Por otro lado, si evaluamos la sentencia:
SELECT rumpelspinskin REGEXP k|z;
La evaluacin en este caso tambin resulta verdadera, dado que la barra vertical
le dice a MySQL que evale si existe una expresin O la otra. Si por ejemplo la
sentencia hubiese sido REGEXP a|z, entonces la expresin hubiese sido
evaluada como falsa (0). Una observacin que se hace necesaria, es que no
importa si la evaluacin incluye ms de una palabra, de tal manera que si la
expresin fuese:
Expresiones regulares 2
Hola de nuevo amigos y amigas. En esta nueva leccin vamos a seguir
aprendiendo sobre expresiones regulares, haciendo que todo se vuelva ms
interesante.
Para hacer que MySQL evale partes muy especficas de una expresin,
podemos hacer uso del siguiente truco (en realidad es simplemente una
construccin de MySQL, lo del truquito es slo un decir).
Digamos que lo que deseamos es averiguar si la expresin regular rren se
encuentra en la cadena Rpido corren los carros por el ferrocarril
Qu hacemos? Utilizamos la siguiente evaluacin:
SELECT Rpido corren los carros por el ferrocarril REGEXP [rren];
Esta evaluacin nos da un valor verdadero (1), dado que lo que hacen los
corchetes, es decirle a MySQL que busque la expresin regular contenida dentro
de ellos, en cualquier lugar de la cadena evaluada.
Por otro lado, si desesemos, por ejemplo, hacer un rango de evaluacin,
bastara con incluirlo dentro de los corchetes, de la siguiente manera:
SELECT alskjdhasjkdhasljkdhas REGEXP [a-z];
Lo anterior basta para que la expresin sea evaluada como verdadera, debido
que estamos especificando un rango extenso entre la a y la z. Sin embargo,
bastara con incluir un nmero (perdn, un dgito) para que la expresin sea
evaluada como falsa. Por otro lado, la expresin:
SELECT lksjfsdfsdlfsdjlsfd45646465lkashdakshdkas REGEXP [a-z0-9];
Sera evaluada como verdadera.
Finalmente, la utilidad real de las expresiones regulares se da cuando evaluamos
contenidos de una base de datos (no es simplemente un deseo de existir de
ellas, claro que no). As pues, vean un la manera de utilizar las expresiones
Ordenando
Salud y amor para todos! (lo del dinero depende de sus gustos)
En este nuestro nuevo coloquio, vamos a aprender a hacer consultas ms
complejas, gracias a los criterios de agrupamiento que existen.
Esto de los criterios de agrupamiento son en realidad una delicia semntica para
impresionar a los incautos. Dicho en buen cristiano, un criterio de agrupamiento
es la forma en la que le decimos a nuestro motor de bases de datos (es decir
MySQL) en la que queremos que ordene o agrupe los datos de nuestra consulta.
Para que nuestra consulta se ordene de una forma determinada, podemos
utilizar la sentencia ORDER BY en conjunto con la sentencia SELECT. Una
consulta normal, es decir, una consulta como las que hemos hecho hasta el
momento, sera de la siguiente manera:
SELECT * FROM tabla;
Para poner un orden a esta consulta, basta con hacer lo siguiente:
SELECT * FROM tabla ORDER BY columna_1;
La sentencia anterior presentara nuestro resultado de forma ascendente (de la
A a la Z). La forma ascendente es la forma en la que MySQL ordena los
resultados por defecto. Sin embargo, si nuestro deseo es cambiar el orden a
desdencente (de la Z a la A), entonces basta con poner la
palabra DESCinmediatamente despus del nombre de la columna que
queremos que sea el parmetro de ordenamiento, es decir:
SELECT * FROM tabla ORDER BY columna_1 DESC;
Claro est, la columna por la cual vamos a presentar el ordenamiento, puede ser
cualquiera que nosotros escojamos, sin importar el tipo de datos que hayamos
guardado en esa columna especfica.
Ahora, veamos en accin la sentencia ORDER BY, la cual tratamos de explicar
con detalle en nuestro siguiente vdeo:
BY
criterio_de_ordenacin
LIMIT
Muy bien damas y caballeros, los dejamos ahora con un ejemplo del uso
deLIMITen la vida real.
Inner Joins
Por una de esas casualidades recuerdan ustedes el tipo de base de datos que
estamos estudiando?
Muy bien, muy bien, precisamente son las bases de datos relacionales. Sin
embargo, y hasta el momento, no hemos visto en lo absoluto esa propiedad de
las bases de datos, es decir, la capacidad de relacin.
A partir de este momento, empezamos esa propiedad de las bases de datos
relacionales y le damos la bienvenida a las uniones (JOINS es su nombre es
ingls). Los tipos de uniones que podemos realizar sonINNER JOINS(Uniones
Interiores) yLEFT JOINS(Uniones por la Izquierda).
Las uniones ms comunes con las del tipo Interior, es decir,INNER JOINS, las
cuales son las ms sencillas. La forma en la que hacemos unINNER JOIN es
simplemente especificando las columnas de las tablas de las que queremos
hacer la consulta, escribiendo explcitamente la palabra INNER
JOINinmediatamente despus, o simplemente escribiendo una coma entre la
tabla uno y la tabla dos, posteriormente DEBEMOS especificar una condicin
WHERE a cumplir. As por ejemplo, imaginemos la siguiente consulta:
SELECT gente.nombre, gente.apellido, empresa.sueldo, empresa.cargo
FROM
gente,
empresa
WHERE
gente.cod_empleado
=
empresa.cod_empleado;
La consulta anterior le dice a MySQL que SELECCIONE de la tabla gente, tanto la
columna nombre como la columna apellido; y de la tabla empresa, la columna
sueldo y la columna cargo EN DONDE la columna cod_empleado de la tabla
gente sea igual a la columna cod_empleado de la tabla empresa. Esta misma
consulta podra haberse hecho de la siguiente manera:
SELECT gente.nombre, gente.apellido, empresa.sueldo, empresa.cargo
FROM gente INNER JOIN empresa ON gente.cod_empleado =
empresa.cod_empleado;
Como vern, la forma de especificar las tablas de donde estamos sacando la
informacin es simplemente con un punto (.), especificando primero el nombre
de la tabla y posteriormente el nombre de la columna, esto tanto despus de la
palabraSELECT, como despus de la palabraWHERE.
Ahora amigos y amigas, vean la forma en la que se hace un INNER JOIN en
Left Joins
Cmo hacer para que la informacin de una tabla, sea mostrada junto con la de
otra?
La solucin es utilizando LEFT JOIN. Los LEFT JOINS (perdn por utilizar las
palabras en ingls, pero la traduccin de unin izquierda o unin interior para
losINNER JOINSno resulta del todo satisfactoria), son uniones en las que le
pedimos a MySQL que nos muestre los datos contenidos en las tablas
inmiscuidas en la consulta, sin importar que, por ejemplo, en un par de filas el
valor nulo (NULL) aparezca.
Contrario a los INNER JOINS, los LEFT JOINS no pueden llevar una
condicionante WHERE. Las razones son, claro est, que para cumplir una
condicionante WHERE, la consulta debe arrojar solamente los resultados que
concuerden exactamente con la condicin, y nuestro deseo es precisamente lo
contrario.
La sintaxis de los LEFT JOINS es bastante similar a la de los INNER
JOINS,salvo que debemos utilizar la sentencia ON forzosamente, de la
siguiente manera:
SELECT tabla1.columna1, tabla2.columna1 FROM tabla1 LEFT JOIN
tabla2 ON tabla1.columna3 = tabla2.columna1;
Finalmente, como recomendacin habremos de decir que los LEFT JOINS son
herramientas que podemos utilizar en casos especiales. Sin embargo, debemos
tener cuidado en el orden en el que especificamos las tablas en unLEFT JOIN,
ya que si la tabla de la izquierda es la tabla que contiene, digamos menos
datos, y la de la derecha es la que contiene ms, las filas que no concuerden
sern ignoradas por MySQL.
Veamos por ejemplo el siguiente vdeo, para que todo lo anterior nos quede
claro: