Guias y manuales
Conoce SQL – Lenguaje procedimental 1 – Estructura y sintaxis
por Maxpowel el may.07, 2009
SQL es un gran lenguaje pero también tiene limitaciones. Pero como siempre que hay una limitación, se inventa algo para elminarla. Este es el caso del lenguaje procedimental de los SGBD. Es un lenguaje como C, JAVA y esos de “toda la vida”. Esto nos proporciona principalmente la posibilidad de crear variables, bucles… vamos, un programa.
Un problema de estos lenguajes es que no son nada estandares y cada SGBD tiene el suyo y la sintaxis es diferente. La verdad que sabiendo programar no es gran problema, solo es revisar un poco la sintaxis de cada uno. El mayor problema es que cada lenguaje tiene diferentes posibilidades así que cada lenguaje pasa a ser totalmente diferente mantiendo en común solo la lógica de los bucles y esas cosas básicas.
MySQL introdujo su lenguaje hace relativamente poco tiempo y eso se nota, esta bastante mas limitado que por ejemplo el de Oracle (pl/sql). No me peguéis pero he de decir que el lenguaje de oracle es realmente potente, solo espero que MySQL se vaya equiparando en este tema (aunque ahora que oracle es propietario de mysql no se que pasará…). Como información os diré que el lenguaje de SQL server (transact-sql) está también bastante limitado. (continuar leyendo…)
Conoce SQL – VIEWS (vistas)
por Maxpowel el may.04, 2009
Ahora ya sabemos como hacer consultas bastante completas, pero ademas de ser un rollo tener que escribir todo ese tocho en nuestro código del programa (php o el que sea) es poco seguro y en ocasiones menos eficiente. Una vista es una especie de “compilación” de una consulta.
A nuestros ojos una vista es una tabla de solo lectura aunque veremos más adelante un truquillo para “insertar” datos en una vista (hacer insert a una vista y que funcione).
La principal ventaja de las vistas es que nos facilita el trabajo con consultas complejas. Pero quédate con el con el concepto de que una vista es una consulta SQL.
Conoce SQL – SELECT – Parte 3 – Agrupaciones
por Maxpowel el abr.29, 2009
En esta tercera parte de select veremos qué son y cómo se usan las agrupaciones de datos.
Vamos a empezar por lo más sencillo. Imagina que queremos contar el numero de filas de una tabla, por ejemplo para saber cuantos usuarios tenemos o el numero de paquetes en nuestra base de datos. Si no se conce como sql nos lo hace, lo normal es tirar por algo de esto desde php:
$sql=”SELECT * FROM paquetes”;
$res=mysql_query($sql);
$n=0;
while ($fila=mysql_fetch_array($res))
{
$n++;
}
echo “Tenemos $n paquetes en la base de datos”;
Quizá a estas alturas ya te hayas percatado (aunque sea porque siempre digo lo mismo
) de lo ineficiente que es este algoritmo. Seleccionamos TODO cuando no nececitamos NADA, no necesitamos ningún dato de la tabla pero sin embargo vamos a ir extrayendo toda la tabla. Para esto existe count, que se usaría de esta manera:
$sql=”SELECT count(*) FROM paquetes”;
$res=mysql_query($sql);
$fila=mysql_fetch_array($res);
echo “Tenemos “.$fila[0].” paquetes en la base de datos”;
Conoce SQL – SELECT – Parte 2
por Maxpowel el abr.26, 2009
En la primera parte sobre SELECT vimos básicamente como enlazar diferentes tablas y así aprovecharnos de las foreign key. Eso es lo mínimo que se debería saber ya que conociendo un poco por encima ese tema podemos hacer consultas bastante majas sin recurrir a complejos e ineficientes algoritmos en PHP.
Pero pronto vemos que se nos queda corto y queremos más pero que no cunda el pánico, aquí hay SQL para todos. En esta segunda parte de SELECT quiero tratar las subconsultas
Vaya, parece poco pero es más de lo que parece.
(continuar leyendo…)
Conoce SQL – SELECT – Parte 1
por Maxpowel el abr.23, 2009
Conoce SQL – DQL – Parte 1
Todo lo visto hasta ahora entra en la parte DDL (Lenguaje de Definición de Datos). Esa parte es las más sencillita. Ahora comenzamos con el DQL (Lenguaje de Consulta de Datos). DQL es sin duda la parte más compleja y divertida de SQL y es la que nos permite sacar datos de la base de datos.
Normalmente en los ejemplos que se ven por ahí se usan consultas sencillas del tipo
SELECT * FROM usuarios WHERE email=’usuario@correo.com’
y rara vez he visto una consulta juntandos varias tablas o usando funciones de MySQL, algo que esconde totalmente la potencia de este lenguaje.




