Mostrando entradas con la etiqueta MySQL. Mostrar todas las entradas
Mostrando entradas con la etiqueta MySQL. Mostrar todas las entradas

lunes, 2 de julio de 2012

Could not find MySQL startup script! (Mac)

Mientras instalaba MySql en Mac y dejaba registro de eso, me encontre con el siguiente error al ejecutar una shell para iniciar el servicio de MySql.

Could not find MySQL startup script!

Al editar la shell, me doy cuenta que lo que en realidad esta buscando ejecutar es esto:

if test -x $SCRIPT ; then
          RunService "$1"
  else
          ConsoleMessage "Could not find MySQL startup script!"
  fi

Donde $SCRIPT es:
SCRIPT="/usr/local/mysql/support-files/mysql.server"

Sorpresa, la carpeta "local" no existe o no la puedo ver. ¿Entonces donde esta la aplicación?
Después de un rato de búsqueda me di cuenta que la forma en que instale la aplicación fue con los permisos de el usuario normal. Por lo que finalmente instale desde la linea de comandos con los permisos de administrador. Y esa era la solución.

El link con los pasos que seguí acá:


Instalar MySql en Mac

En este tutorial, voy a mostrar como montar una imagen de disco (dmg) desde linea de comandos en Mac e instalar MySQL.

Primero, descargar la versión que necesites de MySQL desde la siguiente dirección:
http://dev.mysql.com/downloads/mysql/

En mi caso requiero la version de 32 bits, instalable (dmg)


Una vez descargado debes entrar en la consola (Aplicaciones / Utilidades / Consola.app) ir a la carpeta donde descargaste el archivo dmg:

  • El primer paso es montar la imagen de disco

sudo hdiutil mount mysql-5.5.24-osx10.6-x86.dmg
La imagen queda montada en la carpeta Volumes
  • Después instalamos el paquete

sudo installer -package /Volumes/mysql-5.5.24-osx10.6-x86/mysql-5.5.24-osx10.6-x86.pkg -target /Volumes
  • Desmontamos la imagen

sudo hdiutil unmount /Volumes/mysql-5.5.24-osx10.6-x86

Luego en Preferencias del Sistema  te fijas si aparece el icono de MySql. Sino haz doble clic sobre el archivo dmg que descargaste y haz doble clic sobre el archivo MySQL.Prefpane.


Fuente




sábado, 14 de abril de 2012

sp_helptext en MYSQL u Obtener Create Table

Ya he hecho la comparación antes. Buscando el equivalente de los comandos MSSQL en los otros motores de base de datos.

sp_helptext en MSSQL te permite obtener el código CREATE del objeto que le pasas como parametro tablas, procedimientos, etc.

En MYSQL tambien se puede hacer lo mismo con el siguiente comando:

SHOW CREATE TABLE nombre_tabla;





Cuando hice la prueba en PhpMyAdmin, este me mostró solo una linea. En ese caso , se debe hacer click sobre el link Opciones y elegir Texto Completo.

Cambiar nombre de un campo en MYSQL

Para cambiarle el nombre a un campo de una tabla en MySQL se usa la siguiente instrucción:

alter table TABLA change NOMBRE_CAMPO NOMBRE_CAMPO_NUEVO int;

Donde:

NOMBRE_CAMPO : Es el nombre del campo que queremos cambiar
NOMBRE_CAMPO_NUEVO : Es el nombre que le queremos dar.

El tipo de dato del campo en este ejemplo es INT.

Fuente
http://j.gs/r1D


CREATE TABLE desde un SELECT (MYSQL)



Algunas veces se requiere clonar una tabla o tener solo algunas columnas de esta, pero con datos. Para estos casos es útil la siguiente instrucción:

create table tabla_origen select * from tabla_clonada;

Donde :
tabla_origen es la tabla que quieres copiar
tabla_clonada es el resultado que quieres obtener

En el caso del ejemplo, es la tabla con todos sus campos pero también puede ser solo algunos. Para lo cual seria de la siguiente forma:


create table tabla_origen select Campo1, Campo2, ... from tabla_clonada; 

Esto aplica para MYSQL. Para Oracle visita este post: http://rightnowweb.blogspot.com/2011/12/crear-una-tabla-partir-de-una-consulta.html

sábado, 7 de abril de 2012

jar is not marked as executable

Descargue SQL Power Architect para probarlo en mi Ubuntu 11.10.  SQL Power Arquitect es un software para modelar bases de datos, lo baje con ese propósito. Es Open Source, con versiones comerciales y una para la comunidad. Esta escrito en Java por lo cual el instalador consiste en un .jar.

Al momento de ejecutar el jar me aparece el siguiente error:

The file '... jar' is not marked as executable


La ejecución la hago de la siguiente forma: botón derecho sobre el archivo -> Abrir con -> OpenJDK Java 7 Runtime.

Para poder ejecutar el archivo jar, se debe habilitar la opción: Permitir ejecutar el archivo como un programa en las propiedades del archivo (botón derecho sobre el archivo -> Propiedades -> Pestaña Permisos).




Link de SQL Power Architect
http://q.gs/172j8

martes, 20 de diciembre de 2011

ISNULL EN ORACLE - Reemplazar valores nulos



Tengo mas experiencia trabajando en MS SQL y en MYSQL que en Oracle (soy novato) por lo mismo al momento de necesitar hacer algo se me viene a la mente como es en MS SQL / MYSQL y pienso que puede haber varios en una situación similar.

En MS SQL existe la función ISNULL para reemplazar valores nulos, ejemplo:
SELECT Campo1, ISNULL(Campo2, '0') FROM Tabla 


En MySQL la función es:
SELECT Campo1,  COALESCE (Campo2, '0') FROM Tabla 


En Oracle, la función es NVL, ejemplo:
SELECT Campo1, NVL(Campo2, '0') FROM Tabla 


Lo que hacen estas funciones es reemplazar el valor nulo si existe por el que se le indica.













domingo, 13 de noviembre de 2011

Not unique table/alias:




Not unique table/alias:, probablemente sea uno de esos errores demasiado sencillo de saber porque se produce y corregir. Me ocurrió  este error y lo vi posteado en algunos foros, y me parece que a no todo el mundo le puede parecer tan obvio. 


¿Que indica el error Not unique table/alias: 'Nombre_Tabla'?


Indica que el nombre de la tabla se esta llamando mas de una vez en la consulta, tal cual aparece en el código que copio a continuación.


SELECT ArchivoTematico.ArchivoTematico_art as id_art,ArchivoTematico.ArchivoTematico_art,ArchivoTematico.Archivo_art,ArchivoTematico.Descripcion_art FROM ArchivoTematico
INNER JOIN ArchivoTematico
ON ArchivoTematico.id_art=ArchivoTematico.id_art

La solución entonces es quitar la redundancia del nombre de la tabla en la consulta.



SELECT id_art,ArchivoTematico_art,Descripcion_art FROM ArchivoTematico



domingo, 3 de abril de 2011

Ver la estructura de una vista en MySQL




Para conocer la estructura de una vista en MySQL se usa la sentencia:

DESCRIBE <NombreVista>;

En el ejemplo de la imagen la vista se llama vwProyecto

domingo, 23 de enero de 2011

Como cambiar de lugar un campo de una tabla MySQL



El siguiente Tip muestra como a travez de SQL se puede cambiar el lugar de un campo en una tabla MySQL.

Si tomamos como ejemplo una tabla de usuarios cuyo campo id_per (Perfil), se quiere dejar como el primero se deje ejecutar el siguiente script.

ALTER table Usuario
MODIFY COLUMN id_per int
AFTER Usuario_usu

y luego:

ALTER table Usuario
MODIFY COLUMN Usuario_usu varchar(20)
AFTER id_per


Tambien sirve eliminar el campo y crearlo nuevamente en el orden deseado. Pero nunca esta demas saber hacerlo via programación.


El resultado es el siguiente:

jueves, 3 de junio de 2010

Procedimientos almacenados en PhpMyAdmin


MySql desde la version 5.xx soporta la creación de procedimientos almacenados.
Una de las ventajas que aporta el desarrollar aplicaciones con procedimientos es que permite un mejor rendimiento de las aplicaciones. Ya que no son tantos los datos que transitan entre el cliente y el servidor.

Probablemente quienes quieran hacer sus pruebas, creando sp (Store Procedures / Procedimientos Almacenados) en phpmyadmin se darán cuenta que no resulta tan sencillo. Por esto este tip:

Por ejemplo: Tengo una tabla que se llama usuarios y creare un procedimiento para que me retorne todos los datos de esa tabla. Esto seria de la siguiente manera:



al finalizar la sentencia END se agregan estos signos $$, mas abajo en la caja de texto que dice delimitador, se vuelven a ingresar estos signos $$. Tal cual aparece en la imagen que adjunto.



Edición 01/05/2012
Tal como lo indica  uno de los comentarios anónimos. Para obtener una lista de los procedimientos creados en una base de datos se usa la siguiente orden:



Para obtener una lista de todos los procedimientos almacenados en tu instalación de MySql, debes seleccionar la base de datos information_schema y hacer la consulta:



También se puede obtener el código de un procedimiento




Por defecto, PhpMyAdmin muestra el código en una linea. Se debe hacer click sobre el link Opciones y elegir Texto Completo.

Para cerrar el circulo. Lo que normalmente va a pasar es que quieras hacer alguna modificación al procedimiento. Pero en MySql un ALTER PROCEDURE no va a funcionar para cambiar parámetros ni el código (ver link ALTER PROCEDURE Syntax). Lo que se debe hacer es eliminar el procedimiento y volver a crearlo.




Artículos de este blog Relacionados
Otros Links


martes, 6 de enero de 2009

Como saber la estructura de una tabla en MySQL

La verdad es que estoy mas acostumbrado a trabajar en MS SQL que en MySQL. Por ejemplo, cuando quiero saber cual es la estructura de una tabla en MS SQL desde un cliente coloco la siguiente consulta:

sp_help nombre_tabla

en MySQL es distinto, para saber la estructura de una tabla se debe ingresar lo siguiente:

show columns from nombre_tabla;