martes, 22 de marzo de 2011

Apuntes de BBDD's

Para recordar un poco:

La cláusula LIMIT puede usarse para restringir el número de registros retornados por el comando SELECT.LIMIT tiene uno o dos argumentos numéricos, que deben ser enteros positivos (incluyendo cero).

Con dos argumentos, el primer argumento especifica el desplazamiento del primer registro a retornar. El desplazamiento del registro inicial es 0 (no 1):

mysql> SELECT * FROM table LIMIT 5,10;  # Retrieve rows 6-15 

Por compatibilidad con PostgreSQL, MySQL también soporta la sintaxis LIMIT row_count OFFSET offset.

Para recibir todos los registros de un desplazamiento hasta el final del conjunto de resultados, puede usar algún número grande para el segundo parámetro. Ete comando recibe todos los registros desde el 96th hasta el último:

mysql> SELECT * FROM table LIMIT 95,18446744073709551615; 

Con un argumento, el valor especifica el número de registros a retornar desde el comienzo del conjunto de resultados:

mysql> SELECT * FROM table LIMIT 5;     # Retrieve first 5 rows 
En otras palabras, LIMIT n es equivalente a LIMIT 0,n.

Visto en el manual en línea de MySQL, cláusula SELECT


Otro ejemplo, imaginemos que queremos recuperar los nombres todas las personas de sexo femenino que midan más de 165, pero en vez de recuperarlas todas, sólo deseo obtener los dos primeros registros. Este tipo de restricciones pueden ser muy útiles para no saturar una página con cientos y cientos de registros, o también si queremos realizar una paginación.

En MS-SQL Server se utilizaría la cláusula "TOP", pero en MySQL, la forma en resolveremos el problema es fácil, solamente incluimos la cláusula "LIMIT" la cual, como recordamos en la página del manual de este DBMS, el primer parámetro le indicará el primer registro a mostrar y con el segundo mostrará la cantidad de los registros que queremos ver.

SELECT nombre FROM personas WHERE sexo = 'F' AND estatura > 165 LIMIT 0,2

Puramente informativo y de carácter didáctico :)

1 comentarios:

Anónimo dijo...

Usar addslashes() en mysql no es una buena práctica...

http://cow.neondragon.net/index.php/1302-Addslashes-Allows-Sql-Injection-Attacks

http://shiflett.org/blog/2006/jan/addslashes-versus-mysql-real-escape-string

 

Copyright © El igloo de Tux Design by O Pregador | Blogger Theme by Blogger Template de luxo | Powered by Blogger