Bases de Datos


SQL Designer Un Diseñador de Bases de Datos En Linea y Open Source

Sabado, Agosto 25th, 2007

Una herramienta muy útil para los que diseñamos bases de datos es sin duda un diseñador gráfico que te permita ver mas a detalle las relaciones que tienes entre tus tablas. Si bien existen otros software que hacen esto (DBDesigner por ejemplo) SQL Designer es el primero en linea y lo mejor es que es Open Source por lo que podemos descargarlo e implementarlo en nuestro servidor.

Sql Designer Diseñador de Bases de Datos

Una de las características mas importantes de SQL Designer es la posibilidad de exportar nuestro modelo directamente a instrucciones SQL para MySQL, MSSQL, Oracle, PROPEL y Postgres SQL. Ademas de poder exportarlo en un formato XML o guardarlo directamente a una base de datos para su futura edición.

SQL Designer esta desarrollado en PHP, MySQL, y Javascript por lo que para instalarlo necesitamos un servidor Web con soporte para PHP y MySQL.

(more…)

Utilizar expresiones regulares con MySQL

Jueves, Agosto 2nd, 2007

Ya que estamos con el tema de MySQL, Andres Nieto hace un artículo bastante interesante sobre el uso de las expresiones regulares en consultas de MySQL.

Las expresiones regulares son un poco tediosas pero sin duda nos pueden ahorrar varios dolores de cabeza una ves que las sepamos implementar. Poco a poco voy aprendiendo muchas cosas nuevas de MySQL jeje siempre es recomendable leer la documentacion :P para poder exprimirlo del todo.

Enlace: Usando expresiones regulares con MySQL

Posts Relacionados:

20 Recursos Para Trabajar Con MySQL

Jueves, Agosto 2nd, 2007

MySQL

Via Sentido Web encuentro esta lista de 20 excelentes recursos entre tutoriales, tips y herramientas para MySQL.

Herramientas de diseño y administración

Herramientas de seguridad

Optimización

Conocimientos

Creo que les falto el MySQL Query Browser y el DBDesigner o el MySQL WorkBench.

Posts Relacionados:

Tips Para Optimizar Consultas MySQL En PHP

Viernes, Julio 27th, 2007

A continuación una serie de tips para optimizar nuestras consultas MySQL al utilizarlas en PHP o bien en cualquier otro lenguaje. Estan ordenadas por orden de velocidad de Mayor a Menor velocidad de ejecución.

Búsqueda de palabras

1.- La mas rápida

  1. SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST (‘palabra’)

2.- Rápida

  1. SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST (‘+palabra’ IN BOOLEAN MODE)

3.- Lentas

  1. SELECT * FROM tabla WHERE RLIKE ‘(^| +)palabra($| +)’
  2.  
  3. SELECT * FROM tabla WHERE
  4. RLIKE ‘([[:space:]]|[[:<:]])palabra([[:space:]]|[[:>:]])’

Búsquedas contenidas

1.-La mas rápida

  1. SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST (‘palabra*’ IN BOOLEAN MODE)

2.- Rápida

  1. SELECT * FROM tabla WHERE FIELD LIKE ‘palabra%’

3.- Lentas

  1. SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST (‘*palabra*’ IN BOOLEAN MODE)
  2.  
  3. SELECT * FROM tabla WHERE campo LIKE ‘%palabra%’

Obtener el número de registros

1.- Las mas rápida

  1. SELECT SQL_CALC_FOUND_ROWS * FROM tabla WHERE condición LIMIT 0, 10
  2. SELECT FOUND_ROWS()

3.- Rápidas

  1. SELECT * FROM tabla WHERE condición LIMIT 0, 10
  2. SELECT COUNT(clave) FROM TABLE WHERE condición

3. Lenta

  1. $result = mysql_query(“SELECT * FROM tabla”, $link);
  2. $num_rows = mysql_num_rows($result);

Pueden seguir leyendo mas tips en PHP Mysql tips

Posts Relacionados:

Via: Sentido Web

Sentencias en MySQL Que Tal Ves No Conocias

Domingo, Junio 17th, 2007

Hace unos dias en el trabajo ayude a frogx3 a hacer unos reportes que incluian varias operaciones que si bien las podia hacer con un poco mas de programación en PHP recorde que en el MySQL Query Browser viene una lista de funciones separadas por tipos que nos pueden ser de mucha utilidad y que muchas veces ni siquiera sabemos que existen, bien pues me dispuse a revisar las funciones que me presentaba dicha lista y me encontre con que mySQL nos puede ahorrar lineas de código si sabemos utilizarlo.

Algunas sentencias que me encontre son las siguientes:

Funciones para el control de flujo

Sentencia IF

Algo que nos puede ser util cuando trabajamos con banderas, se me ocurre por ejemplo cuando tenemos un campo llamado publicado donde 0=No publicado y 1= Publicado a nosotros nos interesara mostrar en pantalla un texto y no el valor (0,1) de la bandera bien podriamos hacer una consulta como la siguiente:

  1. SELECT IF(t.publicado=1,‘Si’,‘No’) AS publicado FROM tabla t;

CASE

Creo que todos los que hemos programado sabemos para que es un case por lo que obviare la explicación.

Sintaxis:

CASE [valor] WHEN [condicion] THEN resultado [WHEN [condicion] THEN resultado…] [ELSE resultado] END

Ejemplo de Uso:

  1. SELECT CASE WHEN 1>0 THEN ‘mayor’ ELSE ‘menor’ END;

Nos imprimiría en pantalla “mayor”

Otro ejemplo:

  1. SELECT CASE 1 WHEN 1 THEN ‘uno’ WHEN 2 THEN ‘dos’ ELSE ‘otro’ END;

Nos imprimiría en pantalla “uno”

Operaciones Con Cadenas

CHAR()
Interpreta cada argumento N como un entero y devuelve una cadena que consiste en lo valores en ascii de dichos enteros. Los valores nulos no son tomados en cuenta.

Sintaxis: CHAR(N,…)

Ejemplo:

  1. SELECT CHAR(77,121,83,81,‘76′);

Imprime en pantalla “MySQL”

(more…)

Como respaldar una base de datos de mysql por consola

Miercoles, Mayo 23rd, 2007

Siempre es necesario tener un respaldo de nuestras bases de datos, pero que pasa cuando nuestras bases de datos estan tan pesadas que el phpMyAdmin se queda colgado :s. Para eso nos sirve mysqldump un comando que nos trae MySQL para hacer respaldos de nuestras bases de datos su sintaxis es la siguiente:

mysqldump [OPTIONS] database [tables]
O mysqldump [OPTIONS] –databases [OPTIONS] DB1 [DB2 DB3...]
O mysqldump [OPTIONS] –all-databases [OPTIONS]

Algunos de sus parametros mas utilizados son los siguientes:

-A, –all-databases Dump all the databases. This will be same as –databaseswith all databases selected.
–add-drop-database Add a ‘DROP DATABASE’ before each create.
–add-drop-table Add a ‘drop table’ before each create.
–add-locks Add locks around insert statements.
–allow-keywords Allow creation of column names that are keywords.
–create-options Include all MySQL specific create options.
-e, –extended-insert Allows utilization of the new, much faster INSERT syntax.
-p, –password[=name] Password to use when connecting to server. If password is not given it’s solicited on the tty.
-u, –user=name User for login if not current user.

Bien, ahora pongo un ejemplo de su uso:

  1. #Respaldando una única base de datos
  2.  
  3. mysqldump -uroot -p –all –add-locks -e mibase > bkmibase.sql;
  4.  
  5. #Respaldar todas mis bases de datos
  6.  
  7. mysqldump -uroot -p –all –all-databases –add-locks -e > bkmisbases.sql;
  8.  

Ok, ya tenemos nuestro respaldo ahora como la importamos? pues bien para cargarlo existen varias formas aqui les presento una que me sirve bastate:

  1. #Nos conectamos a mysql
  2.  
  3. mysql -uroot -p
  4.  
  5. USE mibase;
  6.  
  7. source /path/TO/mibase.sql;

como comentario para importar tablas tipo innodb se recomienda agregar:

  1. SET FOREIGN_KEY_CHECKS=0;

Al inicio del archivo y:

  1. SET FOREIGN_KEY_CHECKS=1;

al final con el fin de no obtener errores.



Tu banner aquí

Recibir Artículos Por Email

 

Entradas Recientes