1 0 Tag Archives: SQL
post icon

Obtener un registro de la base de datos aleatoriamente mediante SQL

Si lo que necesitas es obtener una o un par de filas de tu base de datos de manera “randomica”  existen muchas soluciones que se pueden implementar, desde hacer un “select silvestre” y desde alguna aplicación que utilice algoritmos que permitan seleccionar un registro de manera aleatoria, hasta “cocinarlo” en desde la misma base de datos.

Dependiendo el contexto de trabajo es conveniente elegir una opción u otra. Pero ésta vez quiero centrarme más bien en hacer el trabajo desde la Base de Datos, con un Query SQL para los distintos (Continuar Leyendo sobre Obtener un registro de la base de datos aleatoriamente mediante SQL)

Leave a Comment
post icon

Como utilizar la cláusula OVER [Partition By / Order by] en SQL [Optimización]

Ver query’s con la cláusula OVER no es muy común, normalmente la mayoría de los programadores o DBA crean sub-query’s para obtener los mismos resultados, lo que en sí no es malo ya que logran visualizar los mismos datos. El problema principal se encuentra en el rendimiento que tiene uno y otro método.

El motor que sea que estés utilizando optimiza el tiempo de ejecución y los bloqueos de las filas cuando se escribe scripts con OVER ya que el mismo trabaja sobre los datos ya obtenidos, en vez de volver a recuperarlos de origen.

La cláusula OVER está definida en el estándar ISO de SQL, (Continuar Leyendo sobre Como utilizar la cláusula OVER [Partition By / Order by] en SQL [Optimización])

Leave a Comment
post icon

Insertar datos desde un csv a mysql con java

A continuacion veremos una forma sencilla, para insertar o actualizar los datos en una db mysql desde un archivo csv para ello necesitaremos una librería externa que pueden descargarla desde aqui:
http://oss.mars.asu.edu/trac/jmars/browser/trunk/lib/javacsv.jar?rev=1
Para esto supongamos que nuestro archivo csv este ordenado asi:

100,"Juan","Gonzalez",123454,"5ta avenida c/Artigas 1560","59521-345445";

Con este ejemplo nosotros insertamos y actualizamos los datos en la db por medio de procedimientos almacenados. El nombre de los sp pueden variar, y la logica es casi lo mismo para insertar o actualizar en otros motores de bases de datos.

(Continuar Leyendo sobre Insertar datos desde un csv a mysql con java)

Leave a Comment
post icon

Autocompletar el SQL en SQL Server Management Studio

Para los que usamos MS SQL como motor de base de datos y su IDE SQL Server Management Studio, especialmente en versiones 2005 para abajo nos quejamos de la falta de un IntelliSense o Autocompletado de SQL. En la versión 2008 en adelante si bien es cierto que apareció tampoco funciona en la sección triggers y tampoco si nos conectamos a versiones anteriores del motor.

Una de las soluciones que solía utilizar era cambiar de Entorno por EMS o Toad (Continuar Leyendo sobre Autocompletar el SQL en SQL Server Management Studio)

Leave a Comment
post icon

Eliminar filas duplicadas con SQL de una tabla

Es típico encontrarnos con casos en donde alguien se olvido de colocar una clave única en algún lugar y luego tenemos registros con columnas duplicadas — no me refiero precisamente a claves primarias pero también podría aplicar el caso — y necesitamos eliminarlos pero dejar siempre uno de cada valor único, no es muy compleja la lógica a utilizar pero es una pregunta muy frecuente de como realizar esta tarea.

Para comprender bien la operativa a realizar vamos a hacer un ejemplo muy sencillo, creamos una (Continuar Leyendo sobre Eliminar filas duplicadas con SQL de una tabla)

Leave a Comment
post icon

Como ejecutar SQL dinámico en SQL Server

Recién escribía sobre SQL Dinámico sobre MySQL y aprovecho para escribir también sobre SQL Server. Escencialmente son muy parecidos la manera de trabajar, pero MsSQL nos ofrece un 2 maneras de llevar a cabo este cometido.

  • Con el comando EXECUTE O EXEC
  • Y con el SP sp_executesql

Deben tener en cuenta que usar el segundo método es más eficiente, ya que el motor puede crear planes de ejecución en base a estadísticas de los querys si se ejecutan más de una vez, y ofrece substitución de parámetros. (Continuar Leyendo sobre Como ejecutar SQL dinámico en SQL Server)

Leave a Comment
post icon

Como ejecutar SQL dinámico en MySQL

Si necesitamos crear crear una consulta SQL que se vaya armando según algunos patrones, ya sean hechos por el usuario o algunos datos y no queremos crear muchos querys distintos y empezar a evaluar cual se ejecutará podemos recurrir a los SQL Dinámicos.

El mismo es soportado por la mayoría de los motores de base de datos, y en esta entrega veremos como hacerlo en MySQL, en las siguiente veremos como hacerlo en SQL Server y Oracle.

Consiste en crear una variable de texto (varchar en la mayoría de los casos) e ir armando dentro de ella la consulta a ejecutar, luego simplemente qudaría ejecutar la variable. (Continuar Leyendo sobre Como ejecutar SQL dinámico en MySQL)

Leave a Comment
post icon

Como llevar un control de versiones del código DDL en SQL Server

Ya conociamos y veniamos hablando del SubVersion para algunos IDE’s de desarrollo e instalación de los servidores sobre Windows y Linux.

Es también sabidos que subversionar nuestros proyectos en el lenguaje que estén hechos es muy sencillo, y nos aporta muchas ventajas. Pero que sucede a la hora de versionar la Base de Datos?

Aquí casi siempre tendremos problemas, especialmente si trabajan como estoy acostumbrado. Todo el desarrollo posible sobre la BD en vez de la App. Esto nos lleva a mayor tiempo y trabajo invertido sobre la base de datos no subversionada que la aplicación que sí lo está (un poco paradójico en cierto modo).

Oracle tiene su propia herramienta de versionado de código (que podremos verlo más adelante, más vale que lo tenga con lo que cuesta también este motor). Pero los otros motores? Especificamente con SQL Server podemos versionar el código con Team Foundation Server si configuramos bien las cosas.

Otra alternativa que he encontrado hace muy poco y me ha gustado más que todas las existentes (al menos que conozco) es el producto de Red Gate, la misma es de paga, pero me parece un precio justo por la herramienta que es y no representa casi nada con lo que podemos salvar utilizando. Aunque si hubiera sido bueno tener una gamma más amplia de productos para subversionar bases de datos con opciones libres y abiertas (si encuentro alguna no duden que lo postearé, o si conocen alguna haganmelo saber que lo comento). (Continuar Leyendo sobre Como llevar un control de versiones del código DDL en SQL Server)

Leave a Comment
post icon

SubQuery SQL: cláusula FROM

Los SubQuery’s o SubConsultas son herramientas poderosas si las sabemos usar, y son básicamente consultas anidadas en otras consultas la cual devuelve un conjunto de valores. Prácticamente un SubQuery puede ser utilizado en cualquier expresión y cláusula ya sean SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY.

Como el tema de los SubQuery es bastante largo lo iré partiendo en pedazos agrupados por expresión (recomendación de Juan Cuevas), como lo ven en el título ahora veremos los SubQuerys aplicados en la cláusula FROM.

Ya sabemos que la cláusula FROM sirve para identificar las tablas de donde serán proveídos los datos a retornarse, como un SubQuery retorna un conjunto de valores también (Continuar Leyendo sobre SubQuery SQL: cláusula FROM)

Leave a Comment
post icon

Delete o Truncate Table?

Muchos se preguntan constantemente que les conviene utilizar cuando quieren vaciar completamente una tabla, si uno es más rápido que el otro, cual es más óptimo?. Prácticamente todos los motores relacionales lo soportan.

Y si, cada uno tiene sus beneficios y contras, es cuestión de que es lo que buscamos lograr.

Para los que desconocen que hace el Truncate Table, es similar a ejecutar una sentencia Delete sin la claúsula Where

(Continuar Leyendo sobre Delete o Truncate Table?)

Leave a Comment
Página 1 de 212