<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Cristián Pérez &#187; MySQL</title>
	<atom:link href="http://www.cristianperez.com/category/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cristianperez.com</link>
	<description>Experimentando la vida</description>
	<lastBuildDate>Tue, 25 Jan 2011 04:06:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Connection Strings</title>
		<link>http://www.cristianperez.com/2009/09/29/connection-strings/</link>
		<comments>http://www.cristianperez.com/2009/09/29/connection-strings/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 18:28:09 +0000</pubDate>
		<dc:creator>Cristián</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Visual Basic]]></category>

		<guid isPermaLink="false">http://www.cristianperez.com/?p=121</guid>
		<description><![CDATA[Un connection string es una cadena con información acerca de una fuente especifica de datos (Data Source) y de la forma de conectarse a esta.
Están formadas por atributos separados por ; (punto y coma) y sus respectivos valores asignados por el signo = (igual)

Por  [...]]]></description>
			<content:encoded><![CDATA[<p>Un connection string es una cadena con información acerca de una fuente especifica de datos (Data Source) y de la forma de conectarse a esta.</p>
<p>Están formadas por atributos separados por ; (punto y coma) y sus respectivos valores asignados por el signo = (igual)<br />
<span id="more-121"></span><br />
Por ejemplo:</p>
<p>&#8220;atributo1=valor;atributo2=valor;atributoN=valor;&#8221;</p>
<p>Ahora voy a dejar algunos connection strings para los motores mas clásicos de Bases de Datos</p>
<p>MySQL (Teniendo instalado el Driver ODBC 5.1 de MySQL)</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">Driver<span style="color: #66cc66;">=</span><span style="color: #66cc66;">&#123;</span>MySQL ODBC <span style="color: #cc66cc;">3.51</span> Driver<span style="color: #66cc66;">&#125;</span>;Server<span style="color: #66cc66;">=</span>servidor;Port<span style="color: #66cc66;">=</span>puerto;Database<span style="color: #66cc66;">=</span>nombre_db;User<span style="color: #66cc66;">=</span>usuario; Password<span style="color: #66cc66;">=</span>password;Option<span style="color: #66cc66;">=</span><span style="color: #cc66cc;">3</span>;</pre></div></div>

<p>MySQL (En .NET usando el MySQL Connector/Net)</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">Server<span style="color: #66cc66;">=</span>servidor;Port<span style="color: #66cc66;">=</span>puerto;Database<span style="color: #66cc66;">=</span>nombre_db;Uid<span style="color: #66cc66;">=</span>usuario;Pwd<span style="color: #66cc66;">=</span>password;</pre></div></div>

<p>ACCESS 2000/2003 (Usando Microsoft Jet OLE DB 4.0)</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">Provider<span style="color: #66cc66;">=</span>Microsoft<span style="color: #66cc66;">.</span>Jet<span style="color: #66cc66;">.</span>OLEDB<span style="color: #66cc66;">.</span>4<span style="color: #66cc66;">.</span>0;Data <span style="color: #993333; font-weight: bold;">SOURCE</span><span style="color: #66cc66;">=</span>C:\mIdatabase<span style="color: #66cc66;">.</span>mdb;User Id<span style="color: #66cc66;">=</span>usuario;Password<span style="color: #66cc66;">=</span>password;</pre></div></div>

<p>ACCESS 2007 (Usando Microsoft ACE OLEDB 12.0)</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">Provider<span style="color: #66cc66;">=</span>Microsoft<span style="color: #66cc66;">.</span>ACE<span style="color: #66cc66;">.</span>OLEDB<span style="color: #66cc66;">.</span>12<span style="color: #66cc66;">.</span>0;Data <span style="color: #993333; font-weight: bold;">SOURCE</span><span style="color: #66cc66;">=</span>C:\myFolder\miAccess2007<span style="color: #66cc66;">.</span>accdb;Persist Security Info<span style="color: #66cc66;">=</span><span style="color: #993333; font-weight: bold;">FALSE</span>;</pre></div></div>

<p>ODBC DSN</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">DSN<span style="color: #66cc66;">=</span>nombre_dsn;Uid<span style="color: #66cc66;">=</span>usuario;Pwd<span style="color: #66cc66;">=</span>password;</pre></div></div>

<p>DBF / FOXPRO (Usando Microsoft Jet OLE DB 4.0)</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">Provider<span style="color: #66cc66;">=</span>Microsoft<span style="color: #66cc66;">.</span>Jet<span style="color: #66cc66;">.</span>OLEDB<span style="color: #66cc66;">.</span>4<span style="color: #66cc66;">.</span>0;Data <span style="color: #993333; font-weight: bold;">SOURCE</span><span style="color: #66cc66;">=</span>c:\carpeta;Extended Properties<span style="color: #66cc66;">=</span>dBASE IV;User ID<span style="color: #66cc66;">=</span>usuario;Password<span style="color: #66cc66;">=</span>password;</pre></div></div>

<p>Vale aclarar que todos los atributos son opcionales, o sea que si la base de datos no trabaja con usuario y contraseña, esos atributos pueden obviarse!, LOGICO, no?</p>
<p>Espero que sirva! Saludos!&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cristianperez.com/2009/09/29/connection-strings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Busquedas Full-Text con MySQL</title>
		<link>http://www.cristianperez.com/2009/09/18/busquedas-full-text-con-mysql/</link>
		<comments>http://www.cristianperez.com/2009/09/18/busquedas-full-text-con-mysql/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 04:43:29 +0000</pubDate>
		<dc:creator>Cristián</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.cristianperez.com/?p=77</guid>
		<description><![CDATA[El asunto es el siguiente&#8230;
Supongamos que queremos realizar una búsqueda dentro de una base de datos MySQL, y a la vez esa busqueda en varios campos, establecer prioridades de busqueda, y una serie de customizaciones mas&#8230;
Entonces para remplazar al típico operador LIKE vamos a utilizar búsquedas  [...]]]></description>
			<content:encoded><![CDATA[<p>El asunto es el siguiente&#8230;</p>
<p>Supongamos que queremos realizar una búsqueda dentro de una base de datos MySQL, y a la vez esa busqueda en varios campos, establecer prioridades de busqueda, y una serie de customizaciones mas&#8230;</p>
<p>Entonces para remplazar al típico operador LIKE vamos a utilizar búsquedas Full-Text.<br />
<span id="more-77"></span><br />
Para explicar un poco esto&#8230; Full-Text es un tipo de indice (KEY o INDEX) que aplicado a distintas columnas permite realizar búsquedas rápidas y precisas sobre estas.</p>
<p><strong>Características generales:</strong><br />
- Es aplicable solamente a campos de tipo CHAR, VARCHAR, o TEXT<br />
- Solo funcionan utilizando el motor MyISAM (Default en la instalacion de MySQL)<br />
- Pueden agregarse cuando se crea una tabla, o directamente ejecutando una consulta para modificar una tabla en particular. Por ejemplo de esta forma</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">ALTER</span> <span style="color: #990099; font-weight: bold;">TABLE</span> nombre_tabla <span style="color: #990099; font-weight: bold;">ADD</span> <span style="color: #FF9900; font-weight: bold;">FULLTEXT</span> <span style="color: #FF00FF;">&#40;</span>campo1<span style="color: #000033;">,</span> campo2<span style="color: #000033;">,</span> campoN<span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span></pre></div></div>

<p>Para utilizar este tipo de búsqueda vamos a usar los operadores MATCH y AGAINST.</p>
<p>Un ejemplo basico seria el siguiente:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">FROM</span> nombre_tabla <span style="color: #990099; font-weight: bold;">WHERE</span> <span style="color: #990099; font-weight: bold;">MATCH</span> <span style="color: #FF00FF;">&#40;</span>campo1<span style="color: #000033;">,</span> campo2<span style="color: #000033;">,</span> campoN<span style="color: #FF00FF;">&#41;</span> AGAINST <span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>palabras a buscar<span style="color: #008080; font-weight: bold;">%</span>'</span> <span style="color: #990099; font-weight: bold;">IN</span> <span style="color: #999900; font-weight: bold;">BOOLEAN</span> MODE <span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span></pre></div></div>

<p><strong>Los operadores que pueden utilizarse en AGAINST para perfeccionar la búsqueda son los siguientes:</strong></p>
<ul>
<li>
<h3>+</h3>
<p>Ejemplo de uso:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #008000;">'+notebook +lenovo'</span>
<span style="color: #808000; font-style: italic;">/* Se obtienen resultados siempre y cuando &quot;notebook&quot; y &quot;lenovo&quot; aparezcan en algun campo en cualquier orden */</span></pre></div></div>

</li>
<li>
<h3>-</h3>
<p>Ejemplo de uso:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #008000;">'+notebook -lenovo'</span>
<span style="color: #808000; font-style: italic;">/* Se obtienen resultados siempre y cuando &quot;notebook&quot; aparezca pero &quot;lenovo&quot; no lo haga */</span></pre></div></div>

</li>
<li>
<h3>~</h3>
<p>Ejemplo de uso:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #008000;">'+notebook ~lenovo'</span>
<span style="color: #808000; font-style: italic;">/* Se obtienen resultados si aparece &quot;notebook&quot; pero es mejor si no aparece &quot;lenovo&quot;, en caso de que lo haga el resultado clasifica con menor puntuación que si no lo hiciera */</span></pre></div></div>

</li>
<li>
<h3>> <</h3>
<p>Hacen referencia a la precedencia de una palabra<br />
Ejemplo: (abajo)</p>
</li>
<li>
<h3>( )</h3>
<p>Hace referencia a un conjunto de subexpresiones<br />
Ejemplo de uso:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #008000;">'+notebook +(&gt;lenovo &lt;bangoo)'</span>
<span style="color: #808000; font-style: italic;">/* Se obtienen resultados siempre y cuando &quot;notebook&quot; aparezca y tambien aparezcan &quot;lenovo&quot; o &quot;bangoo&quot;, pero califica mejor si aparece lenovo que bangoo */</span></pre></div></div>

</li>
<li>
<h3>*</h3>
<p>Hace referencia a cualquier caracter encontrado<br />
Ejemplo de uso:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #008000;">'note*'</span>
<span style="color: #808000; font-style: italic;">/* Se obtienen resultados si se encuentran palabras que comiencen con &quot;note&quot; como &quot;notebook&quot;, &quot;notepad&quot;, etc */</span></pre></div></div>

</li>
<li>
<h3>&#8220;&#8221;</h3>
<p>Hace referencia a una expresión literal<br />
Ejemplo de uso:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #008000;">'&quot;Notebook Lenovo&quot;'</span>
<span style="color: #808000; font-style: italic;">/* Se obtienen resultados siempre y cuando aparezca la frase completa &quot;notebook lenovo&quot; */</span></pre></div></div>

</li>
<li>
<h3>%</h3>
<p>Hace referencia a cualquiera de las palabras de la expresión<br />
Ejemplo de uso:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>Notebook Lenovo<span style="color: #008080; font-weight: bold;">%</span>'</span>
<span style="color: #808000; font-style: italic;">/* Se obtienen resultados si aparecen cualquiera de las palabras, y mientras mas aparezcan mejor califica el resultado */</span></pre></div></div>

</li>
</ul>
<p>Es cuestión de armar las mezclas de estos operadores que necesitemos para lograr resultados mas precisos en nuestras busquedas</p>
<p>Hay que destacar que los resultados en los que mayores coincidencias (y en la mayor cantidad de campos) se hayan encontrado tendrán una puntuación mayor al resto de resultados de la consulta</p>
<p>Una buena forma de ordenar nuestros resultados para poder listarlos de mayor puntuacion a menor es la siguiente</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #CC0099;">*</span><span style="color: #000033;">,</span> <span style="color: #990099; font-weight: bold;">MATCH</span> <span style="color: #FF00FF;">&#40;</span>campo1<span style="color: #000033;">,</span> campo2<span style="color: #000033;">,</span> campoN<span style="color: #FF00FF;">&#41;</span> AGAINST <span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>palabras a buscar<span style="color: #008080; font-weight: bold;">%</span>'</span> <span style="color: #990099; font-weight: bold;">IN</span> <span style="color: #999900; font-weight: bold;">BOOLEAN</span> MODE <span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">AS</span> puntuacion <span style="color: #990099; font-weight: bold;">FROM</span> nombre_tabla <span style="color: #990099; font-weight: bold;">WHERE</span> <span style="color: #990099; font-weight: bold;">MATCH</span> <span style="color: #FF00FF;">&#40;</span>campo1<span style="color: #000033;">,</span> campo2<span style="color: #000033;">,</span> campoN<span style="color: #FF00FF;">&#41;</span> AGAINST <span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>palabras a buscar<span style="color: #008080; font-weight: bold;">%</span>'</span> <span style="color: #990099; font-weight: bold;">IN</span> <span style="color: #999900; font-weight: bold;">BOOLEAN</span> MODE <span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">ORDER BY</span> puntuacion <span style="color: #990099; font-weight: bold;">DESC</span><span style="color: #000033;">;</span></pre></div></div>

<p>Para mas informacion consulten la pagina oficial <a href="http://dev.mysql.com/doc/refman/5.0/es/fulltext-search.html">http://dev.mysql.com/doc/refman/5.0/es/fulltext-search.html</a></p>
<p>Espero que les sirva! Cualquier error que alguien note, comentelo!&#8230; porque se me puede pasar!</p>
<p>Saludos!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cristianperez.com/2009/09/18/busquedas-full-text-con-mysql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>phpMyAdmin + DB Designer</title>
		<link>http://www.cristianperez.com/2009/09/16/phpmyadmin-db-designer/</link>
		<comments>http://www.cristianperez.com/2009/09/16/phpmyadmin-db-designer/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 17:43:17 +0000</pubDate>
		<dc:creator>Cristián</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.cristianperez.com/?p=61</guid>
		<description><![CDATA[Siempre había pensado en que estaría bueno que el diseñador de DB&#8217;s venga incluido en phpMyAdmin, seria tan sencillo como no irse del programa para hacer todos los trabajos de diseño relacionados a la misma!

Así que, colgado como siempre, baje la versión 3 (Que no es nueva) y descubrí que venia  [...]]]></description>
			<content:encoded><![CDATA[<p>Siempre había pensado en que estaría bueno que el diseñador de DB&#8217;s venga incluido en phpMyAdmin, seria tan sencillo como no irse del programa para hacer todos los trabajos de diseño relacionados a la misma!<br />
<span id="more-61"></span><br />
Así que, colgado como siempre, baje la versión 3 (Que no es nueva) y descubrí que venia con un diseñador de DB&#8217;s que permite obviamente establecer relaciones entre tablas y también trae algunas opciones de exportación e importación del diseño que aun no hice andar del todo bien jaja.</p>
<p>Pero, la función importante para mi, que es la de permitirme armar un Canónico dentro del mismo programa la cumple a la perfección</p>
<p>Acá les dejo una imagen del mismo</p>
<p><a href="http://www.cristianperez.com/wp-content/uploads/2009/09/designer.png" target="_blank"><img src="http://www.cristianperez.com/wp-content/uploads/2009/09/designer-300x157.png" alt="designer" title="designer" width="300" height="157" class="alignnone size-medium wp-image-62" /></a></p>
<p>Para los que no sepan que es phpMyAdmin.</p>
<p>Es un gestor de bases de datos MySQL programado en PHP<br />
Para instalarlo en sus pc&#8217;s necesita instalar Apache, MySQL</p>
<p>Para hacerlo de un modo fácil pueden instalar alguna aplicación que traiga todos estos programas juntos como lo es <a href="http://www.appservnetwork.com" target="_blank">appServNetwork</a> (el cual ya viene con phpMyAdmin instalado, pero en una versión anterior, así que tienen que bajar la versión nueva de su sitio oficial</p>
<p><a href="http://www.phpmyadmin.net/">phpMyAdmin.net</a></p>
<p>Una vez descargado, van al directorio en donde instalaron appServ y en la carpeta www reemplazan los archivos de la carpeta phpMyAdmin por los de la nueva version descargada del sitio oficial.</p>
<p>Luego configuran el archivo <em>config.inc.php</em> dentro de phpMyAdmin con los datos de usuario y contraseña del servidor MySQL, y listo!</p>
<p>Para usar su phpMyAdmin solo tienen que abrir un navegador y tipear la siguiente direccion</p>
<p>http://localhost/phpMyAdmin</p>
<p>o</p>
<p>http://127.0.0.1/phpMyAdmin</p>
<p>Saludos y cualquier cosa comenten!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cristianperez.com/2009/09/16/phpmyadmin-db-designer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

