<?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>Como Criar Um Site, Blog ou Loja Virtual Gratis - WebMaster.pt &#187; MySQL</title>
	<atom:link href="http://www.webmaster.pt/categoria/programacao/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://www.webmaster.pt</link>
	<description>Aprenda Como Criar Um Site, Blog ou Loja Virtual com WordPress e Joomla e Ganhar Dinheiro Online</description>
	<lastBuildDate>Mon, 23 Jan 2012 22:14:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Listagem Ordenada Por Letra com PHP E MySQL</title>
		<link>http://www.webmaster.pt/listagem-ordenada-por-letra-php-mysql-13174.html</link>
		<comments>http://www.webmaster.pt/listagem-ordenada-por-letra-php-mysql-13174.html#comments</comments>
		<pubDate>Tue, 26 Apr 2011 13:44:56 +0000</pubDate>
		<dc:creator>Tárcio Zemel</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=13174</guid>
		<description><![CDATA[Como publicar uma lista de dados da base de dados ordenada pelas letras do alfabeto.<p><a href="http://www.webmaster.pt/listagem-ordenada-por-letra-php-mysql-13174.html">Listagem Ordenada Por Letra com PHP E MySQL</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/mysql-insercao-dados-686.html' rel='bookmark' title='MySQL – Inserção De Dados'>MySQL – Inserção De Dados</a></li>
<li><a href='http://www.webmaster.pt/mysql-actualizacao-dados-695.html' rel='bookmark' title='MySQL &#8211; Actualização De Dados'>MySQL &#8211; Actualização De Dados</a></li>
<li><a href='http://www.webmaster.pt/mysql-principais-comandos-mysql-769.html' rel='bookmark' title='MySQL &#8211; Principais Comandos MyQL'>MySQL &#8211; Principais Comandos MyQL</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.webmaster.pt/wp-content/uploads/2011/04/como-fazer-listagem-por-letra-com-php-e-mysql-239x300.jpg" alt="Letras exemplificando como fazer listagem por letra com PHP e MySQL." width="239" height="300" class="aligncenter size-medium wp-image-13180" /></p>
<p>É bastante comum em determinados tipos de sites e/ou sistemas virtuais ser necessário apresentar listagens de elementos em determinada tabela do banco de dados. Mas muitas pessoas se perguntam <strong>como fazer listas por letra</strong> a partir do BD. Na verdade, não há muito &#8220;mistério&#8221; e o segredo está em realizar uma query relativamente simples.</p>
<p>Vamos supor que temos uma tabela no banco de dados. Essa tabela &#8220;cidade&#8221; guarda informações sobre todas as cidades de um determinado país. Então, em um site fictício, é preciso que se faça uma listagem de todas essas cidades, mas, como são muitas, uma <strong>divisão por letra</strong> se faz conveninente. Algo como:</p>
<ul>
<li>A
<ul>
<li>Abadia</li>
<li>Alagoa</li>
</ul>
</li>
<li>B
<ul>
<li>Baiá</li>
<li>Boa Esperança</li>
</ul>
</li>
<li>C
<ul>
<li>Catanduva</li>
<li>Ciabata</li>
<li>Cuiabá</li>
</ul>
</li>
</ul>
<p>E assim por diante.</p>
<h2>Técnica do Array</h2>
<p>Muitos preferem usar a técnica do array, que, basicamente, consiste em montar um array com todas as letras do alfabeto e, num <em>loop</em> qualquer, realizar as queries para listar todas as cidades que começam com aquela letra.</p>
<p><pre><code><br />
$letras = array(&#039;A&#039;, &#039;B&#039;, &#039;C&#039;, &#039;D&#039;, &#039;E&#039;, &#039;F&#039;, &#039;G&#039;, &#039;H&#039;, &#039;I&#039;, &#039;J&#039;, &#039;K&#039;, &#039;L&#039;, &#039;M&#039;, &#039;N&#039;, &#039;O&#039;, &#039;P&#039;, &#039;Q&#039;, &#039;R&#039;, &#039;S&#039;, &#039;T&#039;, &#039;U&#039;, &#039;V&#039;, &#039;W&#039;, &#039;X&#039;, &#039;Y&#039;, &#039;Z&#039;);<br />
</code></pre></p>
<p>É possível trabalhar desse jeito, sim, mas, para casos em que existam letras de outros idiomas, por exemplo, não seria possível codificar sem saber, de antemão, quais seriam estes caracteres. Além disso, montar este array é mais trabalhoso que deixar os próprios PHP+MySQL trabalharem por nós.  <img src='http://www.webmaster.pt/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h2>Fazendo da maneira certa</h2>
<p>O mais &#8220;correto&#8221;, para este caso, é realizar uma query para saber quais as letras existentes no BD e, a partir daí, trabalhar com as respectivas listagens. A query é:</p>
<p><pre><code><br />
$query_letras = mysql_query<br />
(&#039;<br />
&nbsp;&nbsp;SELECT DISTINCT LEFT(descricao_cidade, 1) AS inicial<br />
&nbsp;&nbsp;FROM cidades<br />
&nbsp;&nbsp;ORDER BY descricao_cidade<br />
&#039;);<br />
</code></pre></p>
<p>Então, montaríamos um array com os resultados:<br />
<pre><code><br />
while($letra = mysql_fetch_object($query_letras))<br />
{<br />
&nbsp;&nbsp;$letras[] = $letra-&gt;inicial;<br />
}<br />
</code></pre></p>
<p>E, a partir disso, poderíamos fazer uma lista composta da seguinte maneira:</p>
<p><pre><code><br />
foreach($letras AS $letra)<br />
{<br />
&nbsp;&nbsp;echo &#039;&lt;h3&gt;&#039; . $letra . &#039;&lt;/h3&gt;&#039;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;$cidades = mysql_query<br />
&nbsp;&nbsp;(&#039;<br />
&nbsp;&nbsp;&nbsp;&nbsp;SELECT id, desc<br />
&nbsp;&nbsp;&nbsp;&nbsp;FROM cidades<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE desc LIKE &quot;&#039; . $letra . &#039;%&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;ORDER BY desc<br />
&nbsp;&nbsp;&#039;);<br />
<br />
&nbsp;&nbsp;echo &#039;&lt;ul&gt;&#039;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;while ($c = mysql_fetch_object($cidades))<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &#039;&lt;li&gt;&#039; . $c-&gt;desc . &#039;&lt;/li&gt;&#039;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;echo &#039;&lt;/ul&gt;&#039;;<br />
}<br />
</code></pre></p>
<p>O código completo para a solução:<br />
<pre><code><br />
$query_letras = mysql_query<br />
(&#039;<br />
&nbsp;&nbsp;SELECT DISTINCT LEFT(descricao_cidade, 1) AS inicial<br />
&nbsp;&nbsp;FROM cidades<br />
&nbsp;&nbsp;ORDER BY descricao_cidade<br />
&#039;);<br />
while($letra = mysql_fetch_object($query_letras))<br />
{<br />
&nbsp;&nbsp;$letras[] = $letra-&gt;inicial;<br />
}<br />
<br />
foreach($letras AS $letra)<br />
{<br />
&nbsp;&nbsp;echo &#039;&lt;h3&gt;&#039; . $letra . &#039;&lt;/h3&gt;&#039;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;$cidades = mysql_query<br />
&nbsp;&nbsp;(&#039;<br />
&nbsp;&nbsp;&nbsp;&nbsp;SELECT desc<br />
&nbsp;&nbsp;&nbsp;&nbsp;FROM cidades<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE desc LIKE &quot;&#039; . $letra . &#039;%&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;ORDER BY desc<br />
&nbsp;&nbsp;&#039;);<br />
<br />
&nbsp;&nbsp;echo &#039;&lt;ul&gt;&#039;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;while ($c = mysql_fetch_object($cidades))<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &#039;&lt;li&gt;&#039; . $c-&gt;desc . &#039;&lt;/li&gt;&#039;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;echo &#039;&lt;/ul&gt;&#039;;<br />
}<br />
</code></pre></p>
<h2>Conclusão</h2>
<p>Como citado, é muito comum desenvolvedores precisarem fazer<strong> listagens por letras</strong> e não saberem bem como. Usando a &#8220;query-base&#8221; apresentada, é possível saber, de antemão, quais serão as letras que comporão a lista e, com isso, ter mais segurança no trabalho que se está fazendo e apresentar um resultado mais fiel ao BD para os visitantes.</p>
<p>Portanto, esta é a maneira correta de se fazer <strong>listas por letra</strong> usando PHP e MySQL.
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Flistagem-ordenada-por-letra-php-mysql-13174.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Flistagem-ordenada-por-letra-php-mysql-13174.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/listagem-ordenada-por-letra-php-mysql-13174.html">Listagem Ordenada Por Letra com PHP E MySQL</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/mysql-insercao-dados-686.html' rel='bookmark' title='MySQL – Inserção De Dados'>MySQL – Inserção De Dados</a></li>
<li><a href='http://www.webmaster.pt/mysql-actualizacao-dados-695.html' rel='bookmark' title='MySQL &#8211; Actualização De Dados'>MySQL &#8211; Actualização De Dados</a></li>
<li><a href='http://www.webmaster.pt/mysql-principais-comandos-mysql-769.html' rel='bookmark' title='MySQL &#8211; Principais Comandos MyQL'>MySQL &#8211; Principais Comandos MyQL</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/listagem-ordenada-por-letra-php-mysql-13174.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MySQL &#8211; Conheça O Show Columns</title>
		<link>http://www.webmaster.pt/mysql-show-columns-2930.html</link>
		<comments>http://www.webmaster.pt/mysql-show-columns-2930.html#comments</comments>
		<pubDate>Thu, 22 Jul 2010 09:56:44 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=2930</guid>
		<description><![CDATA[Aprenda MySQL! Saiba como usar o comando SHOW COLUMNS.<p><a href="http://www.webmaster.pt/mysql-show-columns-2930.html">MySQL &#8211; Conheça O Show Columns</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/exemplos-praticos-mysql-3864.html' rel='bookmark' title='Exemplos Práticos De MySQL'>Exemplos Práticos De MySQL</a></li>
<li><a href='http://www.webmaster.pt/classe-conexao-php-mysql-2780.html' rel='bookmark' title='MySQL &#8211; Classe de Conexão PHP e MySQL'>MySQL &#8211; Classe de Conexão PHP e MySQL</a></li>
<li><a href='http://www.webmaster.pt/mysql-agrupando-registros-1250.html' rel='bookmark' title='MySQL &#8211; Agrupando Registos'>MySQL &#8211; Agrupando Registos</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Nas matérias anteriores falamos sobre o elaborar classe de conexão em PHP (algo bem completo e prático).</p>
<p>Hoje vamos implementar um pouco mais este assunto, falando sobre o Show Columns!</p>
<p>Para quem ainda não sabe, o comando &#8220;SHOW COLUMNS FROM TABELA&#8221; tem por finalidade mostrar os campos da tabela!</p>
<p>Abaixo vamos simular alguns exemplos para que você possa entender melhor.</p>
<h2>Criando A Tabela Na Base De Dados MySQL</h2>
<p>Antes de partirmos para a programação, abra o arquivo script-sql.txt (disponível no ficheiro em anexo) e cole seu conteúdo no Programa utilizado para gerenciamento da base de dados.</p>
<p>OBS.: Neste ficheiro você deverá encontrar o código abaixo:</p>
<p><pre><code><br />
----- CRIANDO A TABELA tbl_usuarios -----<br />
<br />
CREATE TABLE `tbl_usuarios` (<br />
`id` int(11) NOT NULL auto_increment,<br />
`nome` varchar(150) NOT NULL default &#039;&#039;,<br />
`email` varchar(150) NOT NULL default &#039;&#039;,<br />
`email2` varchar(150) default NULL,<br />
`senha` varchar(50) NOT NULL default &#039;&#039;,<br />
`tipo` char(1) default NULL,<br />
`status` varchar(10) NOT NULL default &#039;&#039;,<br />
PRIMARY KEY&nbsp;&nbsp;(`id`)<br />
);<br />
<br />
----- INSERINDO DADOS NA TABELA tbl_produtos -----<br />
<br />
INSERT INTO `tbl_usuarios` VALUES (1,&#039;Administrador&#039;,&#039;comandosusa@gmail.com&#039;,NULL,&#039;123456&#039;,&#039;a&#039;,&#039;1&#039;);<br />
INSERT INTO `tbl_usuarios` VALUES (2,&#039;Quemuel Aquino&#039;,&#039;comandosusa@gmail.com&#039;,&#039;comandosusa@ymail.com&#039;,&#039;123456&#039;,&#039;c&#039;,&#039;1&#039;);<br />
</code></pre></p>
<p>Em nossas matérias de MySQL utilizamos como padrão o MySQLFront. Caso você queira utilizar este programa, clique em SQL Editor e cole o conteúdo do script (conforme imagem abaixo).</p>
<p><img class="aligncenter size-full wp-image-975" src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem015.jpg" alt="Criando a Tabela" /></p>
<p>Após criar a estrutura da base de dados, vamos agora efetuar os testes junto ao MySQLFront.</p>
<h2>Exemplos Práticos</h2>
<p>Trabalhar com este comando não é algo difícil. Basta apenas prestar atenção!</p>
<p>Conforme você pode ver na imagem a seguir, efetuamos o comando </p>
<p><strong>SHOW COLUMNS FROM tbl_usuarios</strong></p>
<p>Ok?</p>
<p><img class="aligncenter size-full wp-image-975" src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem024.jpg" alt="Executando o Comando Show Columns" /></p>
<p>Veja acima que este é o melhor comando para quem tem necessidade de selecionar os campos da tabela.</p>
<p>Caso haja necessidade de se verificar um campo específico, podemos usar uma outra solução!</p>
<p>Digite no campo específico algo similar ao que descrevemos na imagem abaixo:</p>
<p><strong>SHOW COLUMNS FROM tbl_usuarios LIKE &#8216;status&#8217;</strong></p>
<p><img class="aligncenter size-full wp-image-975" src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem032.jpg" alt="Executando o Comando Show Columns Personalizado)" /></p>
<p>Veja que ele buscou um campo exato, deixando ainda mais enxuta a sua busca!</p>
<p>Bem&#8230; como você pode ver, esta matéria não é tão longa, conforme as que geralmente publicamos, mas serve para que você tenha conhecimento deste comando específico.</p>
<p>É apenas um início, pois você pode fazer muito mais usando este e outros recursos que publicaremos em breve.</p>
<p>Ficamos por aqui em mais uma matéria. Envie-nos suas dúvidas e dê suas sugestões!</p>
<p>Nosso compromisso é o de sempre lhe ajudar!</p>
<p>Download do código usado neste tutorial: <a href="http://www.webmaster.pt/wp-content/uploads/2010/03/arquivos1.zip">arquivos.zip</a>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fmysql-show-columns-2930.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fmysql-show-columns-2930.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/mysql-show-columns-2930.html">MySQL &#8211; Conheça O Show Columns</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/exemplos-praticos-mysql-3864.html' rel='bookmark' title='Exemplos Práticos De MySQL'>Exemplos Práticos De MySQL</a></li>
<li><a href='http://www.webmaster.pt/classe-conexao-php-mysql-2780.html' rel='bookmark' title='MySQL &#8211; Classe de Conexão PHP e MySQL'>MySQL &#8211; Classe de Conexão PHP e MySQL</a></li>
<li><a href='http://www.webmaster.pt/mysql-agrupando-registros-1250.html' rel='bookmark' title='MySQL &#8211; Agrupando Registos'>MySQL &#8211; Agrupando Registos</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/mysql-show-columns-2930.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL &#8211; Usando O Spring Security</title>
		<link>http://www.webmaster.pt/mysql-spring-security-6576.html</link>
		<comments>http://www.webmaster.pt/mysql-spring-security-6576.html#comments</comments>
		<pubDate>Thu, 15 Jul 2010 08:10:48 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=6576</guid>
		<description><![CDATA[Você trabalha com Java e MySQL? Aprenda a usar o Spring Security para aumentar a segurança das suas aplicações.<p><a href="http://www.webmaster.pt/mysql-spring-security-6576.html">MySQL &#8211; Usando O Spring Security</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/tutoriais-programacao-webdesign/serie-tutoriais-mysql' rel='bookmark' title='Tutoriais MySQL De Quemuel Aquino'>Tutoriais MySQL De Quemuel Aquino</a></li>
<li><a href='http://www.webmaster.pt/classe-conexao-php-mysql-2780.html' rel='bookmark' title='MySQL &#8211; Classe de Conexão PHP e MySQL'>MySQL &#8211; Classe de Conexão PHP e MySQL</a></li>
<li><a href='http://www.webmaster.pt/importar-mysql-phpmyadmin-cpanel-3064.html' rel='bookmark' title='Importar MySQL No phpMyAdmin No cPanel'>Importar MySQL No phpMyAdmin No cPanel</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Quem trabalha com vários bancos de dados e linguagens de programação (especialmente o Java) visa trazer às suas soluções qualidade.</p>
<p>Hoje uma das soluções mais usadas é o Spring Security!</p>
<p>Como este é nosso primeiro projeto falando sobre esta solução, estaremos falando um pouco sobre ele e dando alguns exemplos!</p>
<h2>Porque Usar O Spring Security?</h2>
<p>Aplicações comerciais geralmente necessitam de uma segurança a mais!</p>
<p>O grande erro do mercado é um empresário que está começando ou já começou a exercer suas atividades e ao invés de investir em um profissional qualificado (geralmente por causa do preço que é um pouco mais elevado), investe naquele &#8220;sobrinho&#8221; que acabou de finalizar seu curso de Programação ou Design!</p>
<p>Por este motivo, existem milhares de aplicações com brechas de segurança e falhas grave que facilitam o acesso de pessoas com más intenções (exemplo: crackers).</p>
<p>O Spring Security serve exatamente para isso; dar a segurança necessária para sua aplicação!</p>
<p>Bem&#8230; como grande parte do código é escrito em Java, profissionais iniciantes poderão ter um pouco de dificuldade para assimilar!</p>
<p>Para evitar isso, preste bastante atenção no ficheiro &#8220;applicationContext.xml&#8221; (responsável pela conexão).</p>
<h2>Criando A Base de Dados</h2>
<p>Antes de qualquer coisa, precisaremos criar nossa base de dados; Para isso, abra seu gerenciador de base de dados e carregue o script a seguir:</p>
<p>Ele deverá criar a base de dados com nome &#8220;security&#8221; e a tabela &#8220;users&#8221;.</p>
<p><pre><code><br />
----- Criando a Base de Dados -----<br />
create database security;<br />
use security;<br />
<br />
CREATE TABLE users(<br />
<br />
username VARCHAR(15) NOT NULL,<br />
password VARCHAR(40),<br />
authority VARCHAR(15),<br />
PRIMARY KEY (username)<br />
);<br />
<br />
</code></pre></p>
<h2>Efetuando A Conexão JDBC</h2>
<p>Após criar a base de dados, se você ainda não tiver instalado, <a href="http://dev.mysql.com/downloads/connector/j/5.1.html" target="_blank">baixe o driver JDBC (mais conhecido como Connector J 5.1)</a>.</p>
<p>Esta aplicação lhe dará a possibiidade de conectar o Java ao MySQL usando o ODBC.</p>
<h2>Adicionando Bibliotecas</h2>
<p>Um dos softwares mais práticos no desenvolvimento de Projetos em Spring Security é o <a href="http://www.springsource.com/products/sts" target="_blank">SpringSource Tool Suite</a>. Para elaborar seus Projetos e usar esta ferramenta, faça seu cadastro e baixe o aplicativo.</p>
<p>OBS.: Ao utilizar o sistema,não se esqueça de adicionar a biblioteca do JDBC e do MySQL à biblioteca do JAR do Spring Framework (conforme imagem e informações a seguir).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/06/imagem0111.jpg" alt="" width="600" height="365" class="aligncenter size-full wp-image-6578" /></p>
<ul>
<li>Clique com o lado direito do mouse em cima do Projeto;</li>
<li>Em Project Explorer selecione &#8220;Properties&#8221;;</li>
<li>Em seguida, selecione &#8220;Java EE Module Dependencies&#8221;;</li>
<li>Clique em &#8220;Add External Jars&#8221;, adicionando os arquivos a seguir:</li>
</ul>
<ol>
<li>org.springframework.aop-3.0.2.RELEASE.jar</li>
<li>org.springframework.asm-3.0.2.RELEASE.jar</li>
<li>org.springframework.beans-3.0.2.RELEASE.jar</li>
<li>org.springframework.context-3.0.2.RELEASE.jar</li>
<li>org.springframework.core-3.0.2.RELEASE.jar</li>
<li>org.springframework.expression-3.0.2.RELEASE.jar</li>
<li>org.springframework.transaction-3.0.2.RELEASE.jar</li>
<li>org.springframework.web-3.0.2.RELEASE.jar</li>
<li>spring-security-config-3.0.2.RELEASE.jar</li>
<li>spring-security-core-3.0.2.RELEASE.jar</li>
<li>spring-security-taglibs-3.0.2.RELEASE.jar</li>
<li>spring-security-web-3.0.2.RELEASE.jar</li>
<li>commons-logging-1.1.1.jar</li>
</ol>
<p>OBS.: Em relação ao ficheiro &#8220;commons-logging-1.1.1.jar&#8221;, como ele não faz parte do Spring Frameworks, você poderá baixar o ficheiro referente a esta biblioteca <a href="http://commons.apache.org/logging/" target="_blank">neste endereço da Apache</a>.</p>
<p>Prático, não?</p>
<p>Bem&#8230; a configuração não é nosso foco principal (apesar de ser fundamental para o bom funcionamento de qualquer Projeto).</p>
<h2>Exemplo Prático</h2>
<p>Como nosso foco não é o de desmembrar um Projeto, vamos focar apenas o que se refere a conexão à base de dados.</p>
<p>Através do ficheiro a seguir, poderemos autenticar e autorizar o acesso do usuário à área segura (administração).</p>
<p>Não apenas isso; Ele possibilita nosso acesso às tabelas do MySQL (conforme exemplo a seguir).</p>
<p>applicationContext.xml:</p>
<p><pre><code><br />
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />
<br />
&lt;beans:beans xmlns=&quot;http://www.springframework.org/schema/security&quot;<br />
<br />
xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;<br />
<br />
xmlns:beans=&quot;http://www.springframework.org/schema/beans&quot;<br />
<br />
xsi:schemaLocation=&quot;http://www.springframework.org/schema/beans<br />
<br />
http://www.springframework.org/schema/beans/spring-beans.xsd<br />
<br />
http://www.springframework.org/schema/security<br />
<br />
http://www.springframework.org/schema/security/spring-security-3.0.xsd&quot;&gt;<br />
<br />
&lt;http auto-config=&quot;true&quot; &gt;<br />
<br />
&lt;form-login login-page=&quot;/login.jsp&quot; authentication-failure-url=&quot;/login.jsp?error=invalido&quot;/&gt;<br />
<br />
&lt;intercept-url pattern=&quot;/admin/**&quot; access=&quot;ROLE_ADMIN&quot; /&gt;<br />
<br />
&lt;/http&gt;<br />
<br />
&lt;authentication-manager&gt;<br />
<br />
&lt;authentication-provider&gt;<br />
<br />
&lt;jdbc-user-service data-source-ref=&quot;dataSource&quot;<br />
<br />
users-by-username-query=&quot;SELECT username, password, &#039;true&#039; as enable FROM users WHERE username=?&quot;<br />
<br />
authorities-by-username-query=&quot;SELECT username, authority FROM users WHERE username=?&quot;<br />
<br />
/&gt;<br />
<br />
&lt;/authentication-provider&gt;<br />
<br />
&lt;/authentication-manager&gt;<br />
<br />
&lt;beans:bean id=&quot;dataSource&quot; class=&quot;org.springframework.jdbc.datasource.DriverManagerDataSource&quot; &gt;<br />
<br />
&lt;beans:property name=&quot;url&quot; value=&quot;jdbc:mysql://localhost:3306/security&quot; /&gt;<br />
<br />
&lt;beans:property name=&quot;driverClassName&quot; value=&quot;com.mysql.jdbc.Driver&quot; /&gt;<br />
<br />
&lt;beans:property name=&quot;username&quot; value=&quot;root&quot; /&gt;<br />
<br />
&lt;beans:property name=&quot;password&quot; value=&quot;123456&quot; /&gt;<br />
<br />
&lt;/beans:bean&gt;<br />
<br />
&lt;/beans:beans&gt;<br />
</code></pre></p>
<h2>Criptografando A Senha</h2>
<p>As senhas do ficheiro acima são inseridas manualmente (como você pode ver no ficheiro acima).</p>
<p>Caso seja necessário criptografá-las, você poderá adaptar seu script da seguinte forma:</p>
<p><pre><code><br />
&lt;authentication-manager&gt;<br />
&lt;authentication-provider&gt;<br />
&lt;password-encoder hash=&quot;md5&quot; /&gt;<br />
…<br />
&lt;/authentication-provider&gt;<br />
&lt;/authentication-manager&gt;<br />
<br />
</code></pre></p>
<p>Na hora de criar as tabelas, poderá trabalhar da seguinte maneira:</p>
<p><pre><code><br />
----- Inserindo Usuário -----<br />
INSERT INTO users VALUES(&#039;usuario&#039;, MD5(&#039;senha&#039;), &#039;ROLE_...&#039;)<br />
</code></pre></p>
<p>Bem&#8230; não posso dizer que trabalhar com Spring é fácil, mas&#8230; depois que você aprende a configurá-lo e se adequa a alguns critérios, certamente não tem problemas!</p>
<p>Espero que esta matéria lhe ajude em algo! Em anexo envio um pequeno ficheiro de onde você poderá iniciar um Projeto e estudar mais esta excelente ferramenta.</p>
<p>Faça o Download do código usado neste tutorial: <a href='http://www.webmaster.pt/wp-content/uploads/2010/06/ficheiros8.zip'>MySQL &#8211; Usando O Spring Security</a>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fmysql-spring-security-6576.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fmysql-spring-security-6576.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/mysql-spring-security-6576.html">MySQL &#8211; Usando O Spring Security</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/tutoriais-programacao-webdesign/serie-tutoriais-mysql' rel='bookmark' title='Tutoriais MySQL De Quemuel Aquino'>Tutoriais MySQL De Quemuel Aquino</a></li>
<li><a href='http://www.webmaster.pt/classe-conexao-php-mysql-2780.html' rel='bookmark' title='MySQL &#8211; Classe de Conexão PHP e MySQL'>MySQL &#8211; Classe de Conexão PHP e MySQL</a></li>
<li><a href='http://www.webmaster.pt/importar-mysql-phpmyadmin-cpanel-3064.html' rel='bookmark' title='Importar MySQL No phpMyAdmin No cPanel'>Importar MySQL No phpMyAdmin No cPanel</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/mysql-spring-security-6576.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ligação do PHP Ao MySQL No Dreamweaver CS5</title>
		<link>http://www.webmaster.pt/ligacao-php-mysql-dreamweaver-cs5-6980.html</link>
		<comments>http://www.webmaster.pt/ligacao-php-mysql-dreamweaver-cs5-6980.html#comments</comments>
		<pubDate>Wed, 07 Jul 2010 15:56:03 +0000</pubDate>
		<dc:creator>António Oliveira</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=6980</guid>
		<description><![CDATA[Aprenda a criar uma ligação no Dreamweaver CS5 entre o seu script PHP e a sua base de dados MySQL. É fácil!<p><a href="http://www.webmaster.pt/ligacao-php-mysql-dreamweaver-cs5-6980.html">Ligação do PHP Ao MySQL No Dreamweaver CS5</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/importar-mysql-phpmyadmin-cpanel-3064.html' rel='bookmark' title='Importar MySQL No phpMyAdmin No cPanel'>Importar MySQL No phpMyAdmin No cPanel</a></li>
<li><a href='http://www.webmaster.pt/classe-conexao-php-mysql-2780.html' rel='bookmark' title='MySQL &#8211; Classe de Conexão PHP e MySQL'>MySQL &#8211; Classe de Conexão PHP e MySQL</a></li>
<li><a href='http://www.webmaster.pt/dreamweaver-cs5-wordpress-6157.html' rel='bookmark' title='Dreamweaver CS5 Suporta WordPress'>Dreamweaver CS5 Suporta WordPress</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Estamos a desenvolver um projecto no Dreamweaver CS5 e queremos criar uma ligação à nossa base de dados MySQL? Como fazer? Simples. Não é difícil. </p>
<p>Antes de executar o Dreamweaver, não se esqueça de ligar o servidor local. No meu caso, uso o XAMPP. Altamente recomendado! </p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/07/dreamweaver1.jpg" alt="" title="dreamweaver1" width="500" height="460" class="alignnone size-full wp-image-6984" /></p>
<p>De seguida, abra o Dreamweaver. E na barra do topo clique em <strong>Site >> New Site</strong>.</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/07/dreamweaver1a.jpg" alt="" title="dreamweaver1a" width="500" height="50" class="alignnone size-full wp-image-6987" /></p>
<p>Vai saltar uma janela para criarmos um novo projecto. </p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/07/dreamweaver2.jpg" alt="" title="dreamweaver2" width="500" height="460" class="alignnone size-full wp-image-6990" /></p>
<p>Preencha os 2 campos:</p>
<ol>
<li>O nome do projecto.</li>
<li>O caminho no disco onde o projecto vai estar. </li>
</ol>
<p>De seguida, toda a acção deste tutorial passa para o lado inferior direito do Dreamweaver. É onde vamos encontrar a tab (separador) dos <strong>FILES</strong> (podem &#8220;ocultar / fazer aparecer&#8221; o separador através da tecla <strong>F8</strong>).  </p>
<p>Neste separador podemos visualizar os ficheiros que existem no projecto.</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/07/dreamweaver3.jpg" alt="" title="dreamweaver3" width="500" height="460" class="alignnone size-full wp-image-6994" /></p>
<p>Vamos criar o primeiro ficheiro do projecto: <strong>index.php</strong>. </p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/07/dreamweaver3a.jpg" alt="" title="dreamweaver3a" width="500" height="50" class="alignnone size-full wp-image-6997" /></p>
<p>E, agora sim, vamos então criar a ligação à base de dados MySQL. Para isso precisamos da tab (separador) Databases (Ctrl+Shift+F10):</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/07/dreamweaver4.jpg" alt="" title="dreamweaver4" width="500" height="460" class="alignnone size-full wp-image-6998" /></p>
<p>Basta um simples clique no + e na opção <strong>MySQL Connection</strong>. De seguida, preenchemos os dados na janela que saltou:</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/07/dreamweaver5.jpg" alt="" title="dreamweaver5" width="500" height="280" class="alignnone size-full wp-image-7001" /></p>
<ol>
<li>O nome da ligação à MySQL.</li>
<li>O nome do servidor MySQL, normalmente é <strong>localhost</strong>, mesmo em ambientes de alojamento web partilhado.</li>
<li>O nome do utilizador MySQL. No meu caso acedi ao phpyAdmin e criei um utilizador: nuxtop. Em ambientes de alojamento web partilhado com cPanel, não esqueçam que o utilizador MySQL tem que ser criado. Não utilizem o utilizador do cPanel.</li>
<li>A password do utilizador MySQL.</li>
<li>O nome da base de dados.</li>
</ol>
<p>Se preencheram tudo correctamente, ao clicarem no teste, deve saltar esta janela com o aviso de sucesso:</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/07/dreamweaver5a.jpg" alt="" title="dreamweaver5a" width="500" height="280" class="alignnone size-full wp-image-7004" /></p>
<p>Simples, não é? Então o que falta? </p>
<p>Podemos verificar que no separador FILES (F8) algo mudou:</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/07/dreamweaver6.jpg" alt="" title="dreamweaver6" width="500" height="460" class="alignnone size-full wp-image-7005" /></p>
<p>O Dreamweaver criou uma pasta chamada Connections e um ficheiro com o nome da ligação à MySQL, no meu caso <strong>exemplo.php</strong>. Vamos espreitar esse ficheiro:</p>
<p><pre><code><br />
<br />
&lt;?php<br />
# FileName=&quot;Connection_php_mysql.htm&quot;<br />
# Type=&quot;MYSQL&quot;<br />
# HTTP=&quot;true&quot;<br />
$hostname_exemplo = &quot;localhost&quot;;<br />
$database_exemplo = &quot;dreamweaver&quot;;<br />
$username_exemplo = &quot;nuxtop&quot;;<br />
$password_exemplo = &quot;12345&quot;;<br />
$exemplo = mysql_pconnect($hostname_exemplo, $username_exemplo, $password_exemplo) or trigger_error(mysql_error(),E_USER_ERROR); <br />
?&gt;<br />
<br />
</code></pre></p>
<p>Podemos verificar que a informação deste ficheiro corresponde aos dados que inserimos anteriormente. Então e para futura referência qualquer alteração ao utilizador MySQL ou à password pode ser alterado directamente aqui neste ficheiro. Ou caso pretenda utilizar a janela basta no separador das Databases (Ctrl+Shift+F10) efectuar um duplo clique no nome da ligação que pretendemos alterar.</p>
<p>Agora só falta&#8230; </p>
<h1>Criar Uma Recordset (Query) No Dreamweaver CS5 </h1>
<p>Falta voar para o separador chamado Bindings (Ctrl+F10) e clicar no + e logo depois na opção Recordset (Query):</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/07/recordset1.jpg" alt="" title="recordset1" width="500" height="460" class="alignnone size-full wp-image-7008" /></p>
<p>Vai saltar uma janela com as opções da query à MySQL:</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/07/recordset2.jpg" alt="" title="recordset2" width="500" height="380" class="alignnone size-full wp-image-7012" /></p>
<p>Uma vez criada a Recordset basta no Dreamweaver arrastar os campo para as páginas php e começar a trabalhar! </p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/07/recordset3.jpg" alt="" title="recordset3" width="500" height="460" class="alignnone size-full wp-image-7013" /></p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fligacao-php-mysql-dreamweaver-cs5-6980.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fligacao-php-mysql-dreamweaver-cs5-6980.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/ligacao-php-mysql-dreamweaver-cs5-6980.html">Ligação do PHP Ao MySQL No Dreamweaver CS5</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/importar-mysql-phpmyadmin-cpanel-3064.html' rel='bookmark' title='Importar MySQL No phpMyAdmin No cPanel'>Importar MySQL No phpMyAdmin No cPanel</a></li>
<li><a href='http://www.webmaster.pt/classe-conexao-php-mysql-2780.html' rel='bookmark' title='MySQL &#8211; Classe de Conexão PHP e MySQL'>MySQL &#8211; Classe de Conexão PHP e MySQL</a></li>
<li><a href='http://www.webmaster.pt/dreamweaver-cs5-wordpress-6157.html' rel='bookmark' title='Dreamweaver CS5 Suporta WordPress'>Dreamweaver CS5 Suporta WordPress</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/ligacao-php-mysql-dreamweaver-cs5-6980.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Dicas De Consulta No MySQL</title>
		<link>http://www.webmaster.pt/dicas-consulta-mysql-1940.html</link>
		<comments>http://www.webmaster.pt/dicas-consulta-mysql-1940.html#comments</comments>
		<pubDate>Thu, 24 Jun 2010 09:57:27 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=1940</guid>
		<description><![CDATA[Dicas práticas de consulta duma base de dados MySQL. Os comandos SELECT, DISTINCT, ORDER BY e LIMIT.<p><a href="http://www.webmaster.pt/dicas-consulta-mysql-1940.html">Dicas De Consulta No MySQL</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/mysql-otimizacao-indices-5148.html' rel='bookmark' title='MySQL &#8211; Otimização Criando Índices'>MySQL &#8211; Otimização Criando Índices</a></li>
<li><a href='http://www.webmaster.pt/mysql-agrupando-registros-1250.html' rel='bookmark' title='MySQL &#8211; Agrupando Registos'>MySQL &#8211; Agrupando Registos</a></li>
<li><a href='http://www.webmaster.pt/mysql-alterar-tabelas-1635.html' rel='bookmark' title='MySQL &#8211; Alterar Tabelas Em MySQL'>MySQL &#8211; Alterar Tabelas Em MySQL</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Nas matérias anteriores foquei um pouco os títulos em assuntos voltados à profissionais mais experientes!</p>
<p>Hoje vamos dar algumas dicas para programadores iniciantes que precisam utilizar o MySQL a trabalho ou estudo.</p>
<p>Como de costume, para lhe facilitar, disponibilizamos em anexo ficheiros que deverão lhe auxiliar nos estudos.</p>
<h2>Criando A Base De Dados MySQL</h2>
<p>Antes de iniciarmos nossos exemplos, vamos criar a base de dados a ser trabalhada?</p>
<p>Crie uma tabela no seu banco de dados com o nome “torcedores” (de acordo com a estrutura abaixo):</p>
<p><pre><code><br />
----- TABELA TORCEDORES -----<br />
<br />
CREATE TABLE `torcedores` (<br />
&nbsp;&nbsp;`id` smallint(6) NOT NULL auto_increment,<br />
&nbsp;&nbsp;`Nome` varchar(50) NOT NULL,<br />
&nbsp;&nbsp;`Time` varchar(50) NOT NULL,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`id`)<br />
);<br />
<br />
INSERT INTO torcedores VALUES (&#039;1&#039;,&#039;Fabrício&#039;,&#039;Corintians&#039;);<br />
INSERT INTO torcedores VALUES (&#039;2&#039;,&#039;Felipe&#039;,&#039;São Paulo&#039;);<br />
INSERT INTO torcedores VALUES (&#039;3&#039;,&#039;Gustavo&#039;,&#039;Corintians&#039;);<br />
INSERT INTO torcedores VALUES (&#039;4&#039;,&#039;Daniel&#039;,&#039;Palmeiras&#039;);<br />
INSERT INTO torcedores VALUES (&#039;5&#039;,&#039;Leonardo&#039;,&#039;Palmeiras&#039;);<br />
-----<br />
</code></pre></p>
<p>OBS.: Copie tudo o que está dentro do ficheiro “codigo-fonte.txt”e cole no SQL Editor  (conforme imagem abaixo). </p>
<p>Feito isso, clique em F9 (RUN) e o Programa carregará suas informações na base de dados, efetuando a inserção de seu conteúdo.</p>
<p><a href="http://www.webmaster.pt/wp-content/uploads/2010/02/criar_tabela1-e1266148780836.jpg"><img src="http://www.webmaster.pt/wp-content/uploads/2010/02/criar_tabela1-e1266148780836.jpg" alt="Criar Tabela" title="Criar Tabela" width="600" height="471" class="aligncenter size-full wp-image-1941" /></a></p>
<p>Agora que você efetuou a inserção da tabela “torcedores”, vamos começar a fazer nossos testes?</p>
<h2>Dica 1 &#8211; Usando O DISTINCT</h2>
<p>O <strong>DISTINCT</strong> pode ser usado para evitar repetições de dados na hora do select.</p>
<p><strong>&#8212;&#8211; Exemplo Do SELECT Na Forma Comum &#8212;&#8211;</strong><br />
<img src="http://www.webmaster.pt/wp-content/uploads/2010/02/select.jpg" alt="select" title="select" width="598" height="400" class="aligncenter size-full wp-image-1942" /></p>
<p>OBS.: Veja que no exemplo acima, o Time Palmeiras repetiu 2 vezes.</p>
<p><strong>Exemplo Do SELECT Usando O DISTINCT</strong><br />
<img src="http://www.webmaster.pt/wp-content/uploads/2010/02/distinct.jpg" alt="distinct" title="distinct" width="598" height="400" class="aligncenter size-full wp-image-1943" /></p>
<p>OBS.: Veja que usando o <strong>DISTINCT</strong> o <strong>SELECT</strong> trouxe apenas 1 registro de cada Time.</p>
<p>A princípio você pode não ver muita utilidade neste comando, mas garanto para você que no passar do tempo, ele se tornará necessário!</p>
<h2>Dica 02 – Usando O ORDER BY</h2>
<p>Este comando tem por finalidade trazer os registros em ordem ascendente (<strong>ASC</strong>) ou descendente (<strong>DESC</strong>). Caso você não o insira, ele seguirá sempre o padrão ascendente.</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/02/order_by.jpg" alt="order by" title="order by" width="598" height="400" class="aligncenter size-full wp-image-1945" /></p>
<p>No exemplo acima usamos o comando <strong>ASC</strong>.</p>
<p>Veja que os Nomes estão devidamente ordenados (diferente dos Times e ID).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/02/desc.jpg" alt="desc" title="desc" width="598" height="400" class="aligncenter size-full wp-image-1944" /></p>
<p>Na imagem acima você vê o exemplo de <strong>DESC</strong> (veja que ele altera apenas os Nomes, ordenando os registros de cima para baixo).</p>
<h2>Dica 03 &#8211;  Usando O LIMIT</h2>
<p>O comando <strong>LIMIT</strong> (como o nome já diz) tem a finalidade de limitar os registros, imprimindo em tela o registro a seguir (como você pode ver na imagem).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/02/limit.jpg" alt="limit" title="limit" width="598" height="400" class="aligncenter size-full wp-image-1946" /></p>
<p>Bem&#8230; como programador, vou lhe passar exatamente o que “imagino” ao efetuar este <strong>SELECT</strong> (até para que facilite a você que está inciando).</p>
<p>Veja que no <strong>SELECT</strong> coloquei após o <strong>LIMIT</strong> o registro 3,1. Correto?</p>
<p>Na hora da impressão em tela, ele imprimiu o registro 4.</p>
<p>Na hora que você coloca “3,1”, é como se você tivesse dizendo ao Sistema: Finalize no terceiro registro, “lembrando que ele inicia no registro número 1”.</p>
<p>Prático, não?</p>
<p>Bem&#8230; ficamos por aqui com mais uma matéria de MySQL. Espero que com essas dicas possamos lhe ajudar durante o desenvolvimento!</p>
<p>Caso você tenha qualquer dúvida ou dificuldade durante o procedimento, entre em contato conosco e teremos o enorme prazer em lhe ajudar.</p>
<p><strong>DOWNLOAD:</strong> Descarregue o código utilizado neste tutorial: <a href='http://www.webmaster.pt/dicas-consulta-mysql-1940.html/arquivo-5' rel='attachment wp-att-1949'>Dicas De Consulta No MySQL</a>, em formato .zip.
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fdicas-consulta-mysql-1940.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fdicas-consulta-mysql-1940.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/dicas-consulta-mysql-1940.html">Dicas De Consulta No MySQL</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/mysql-otimizacao-indices-5148.html' rel='bookmark' title='MySQL &#8211; Otimização Criando Índices'>MySQL &#8211; Otimização Criando Índices</a></li>
<li><a href='http://www.webmaster.pt/mysql-agrupando-registros-1250.html' rel='bookmark' title='MySQL &#8211; Agrupando Registos'>MySQL &#8211; Agrupando Registos</a></li>
<li><a href='http://www.webmaster.pt/mysql-alterar-tabelas-1635.html' rel='bookmark' title='MySQL &#8211; Alterar Tabelas Em MySQL'>MySQL &#8211; Alterar Tabelas Em MySQL</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/dicas-consulta-mysql-1940.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL &#8211; Otimização Criando Índices</title>
		<link>http://www.webmaster.pt/mysql-otimizacao-indices-5148.html</link>
		<comments>http://www.webmaster.pt/mysql-otimizacao-indices-5148.html#comments</comments>
		<pubDate>Thu, 17 Jun 2010 08:48:13 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=5148</guid>
		<description><![CDATA[Como otimizar as consultas no MySQL através da criação de indíces.<p><a href="http://www.webmaster.pt/mysql-otimizacao-indices-5148.html">MySQL &#8211; Otimização Criando Índices</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/mysql-insercao-dados-686.html' rel='bookmark' title='MySQL – Inserção De Dados'>MySQL – Inserção De Dados</a></li>
<li><a href='http://www.webmaster.pt/mysql-agrupando-registros-1250.html' rel='bookmark' title='MySQL &#8211; Agrupando Registos'>MySQL &#8211; Agrupando Registos</a></li>
<li><a href='http://www.webmaster.pt/mysql-actualizacao-dados-695.html' rel='bookmark' title='MySQL &#8211; Actualização De Dados'>MySQL &#8211; Actualização De Dados</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>As pessoas costumam dizer que quem trabalha com programação e banco de dados aprende algo novo a cada dia!</p>
<p>Posso dizer que isso é uma verdade, já que a informática nos surpreende a cada dia.</p>
<p>Existem vários recursos que ajudam os Programadores a terem soluções mais rápidas e poderosas. Uma delas é a criação de índices em suas tabelas.</p>
<h2>Trabalhando Com Índices</h2>
<p>Imagine uma base de dados pequena e com poucos registros. Seu desempenho é ótimo, correto?</p>
<p>Vamos ser mais claros?</p>
<p>Digamos que você tenha uma tabela de clientes / usuários e nesta tabela existam de 5 a 10 registros.</p>
<p>Ao efetuar uma busca, as informações virão rapidamente em tela!</p>
<p>Agora pense&#8230; Você já imaginou fazer uma busca na mesma base de dados tendo ela uma grande quantidade de registros?</p>
<p>Bem&#8230; o problema não é a quantidade de registros e sim a forma que os Programadores efetuam suas consultas!</p>
<p>Abaixo vamos simular alguns exemplos onde você poderá conhecer melhor sobre este assunto.</p>
<h2>Criando As Tabelas Na Base De Dados</h2>
<p>Antes de partirmos para a programação, abra o ficheiro script-sql.txt (disponível em anexo) e cole seu conteúdo no Programa utilizado para gerenciamento da base de dados.</p>
<p>Em nossas matérias de MySQL utilizamos como padrão o MySQLFront. Caso você queira utilizar este programa, clique em SQL Editor e cole o conteúdo do script (conforme imagem abaixo).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/05/imagem013.jpg" alt="CRIANDO A TABELA" class="aligncenter size-full wp-image-975" /></p>
<p>Veja abaixo o código a ser inserido:</p>
<p><pre><code><br />
----- CRIA A TABELA TBL_NUMEROS -----<br />
<br />
CREATE TABLE `tbl_numeros` (<br />
&nbsp;&nbsp;`id_numero` int(11) NOT NULL auto_increment,<br />
&nbsp;&nbsp;`numero` char(10) default NULL,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`id_numero`)<br />
);<br />
<br />
----- INSERE CONTEÚDO NA TBL_NUMEROS -----<br />
<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (1,1);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (2,2);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (3,3);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (4,4);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (5,5);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (6,6);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (7,7);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (8,8);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (9,9);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (10,10);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (11,11);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (12,12);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (13,13);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (14,14);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (15,15);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (16,16);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (17,17);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (18,18);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (19,19);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (20,20);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (21,21);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (22,22);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (23,23);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (24,24);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (25,25);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (26,26);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (27,27);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (28,28);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (29,29);<br />
INSERT INTO `tbl_numeros` (`id_numero`,`numero`) VALUES (30,30);<br />
<br />
</code></pre></p>
<p>Após criar a tabela e inserir as informações na base de dados, vamos partir para os testes!</p>
<h2>Usando O Select Comum</h2>
<p>Suponhamos que você tenha uma tabela com números que vão de 1 a 30. Você podería usar a consulta a seguir (veja o código e imagem a seguir):</p>
<p><pre><code><br />
<br />
SELECT numero FROM tbl_numeros WHERE numero = &#039;25&#039;;<br />
<br />
</code></pre></p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/05/imagem023.jpg" alt="Usando o Select Comum" class="aligncenter size-full wp-image-975" /></p>
<p>Se você verificar bem, verá que a resposta do &#8220;Execution Time&#8221; foi de &#8220;0.09&#8243;!</p>
<p>Isso acontece porque até encontrar o número &#8220;25&#8243; (conforme o select acima) o MySQL usará a lógica a seguir:</p>
<ul>
<li>POSIÇÃO 1: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 2: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 3: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 4: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 5: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 6: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 7: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 8: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 9: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 10: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 11: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 12: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 13: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 14: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 15: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 16: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 17: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 18: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 19: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 20: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 21: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 22: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 23: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 24: o campo numero é igual a 25? NÃO então vamos ao próximos registro;</li>
<li>POSIÇÃO 25: o campo numero é igual a 25? SIM &#8211; Então retorne em tela as informações solicitadas.</li>
</ul>
<blockquote><p>É ruim ler registro por registro, não? Se o MySQL pudesse responder, diría a mesma coisa <img src='http://www.webmaster.pt/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Vamos conhecer agora uma forma mais prática de se trabalhar?</p></blockquote>
<h2>Criando O Índice</h2>
<p>No exemplo abaixo, vamos usar um índice para o campo número em &#8220;tbl_numeros&#8221;.</p>
<p>Antes de usar a solução, vamos criar junto ao MySQL este índice!</p>
<p>Siga a sintaxe abaixo descrita (conforme código e imagem a seguir):</p>
<p><pre><code><br />
<br />
----- CRIANDO UMA INDEX PARA O CAMPO NUMERO EM TBL_NUMEROS -----<br />
<br />
CREATE INDEX index_numero ON tbl_numeros (numero(10))<br />
<br />
</code></pre></p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/05/imagem032.jpg" alt="CRIANDO O ÍNDEX" class="aligncenter size-full wp-image-975" /></p>
<p>Quem trabalha com SQL não terá dificuldades, já que no MSSQL trabalhamos com triggers (que usam estrutura bem próximas). Em todo caso, não há dificuldade&#8230; É só seguir a estrutura acima!</p>
<h2>Efetuando O Select Otimizado</h2>
<p>Abaixo efetuaremos um select otimizado e veremos também seu tempo de execução (conforme código e imagem a seguir):</p>
<p><pre><code><br />
<br />
----- SELECIONANDO A INDEX DA TABELA TBL_NUMEROS -----<br />
<br />
SELECT numero FROM tbl_numeros USE INDEX (index_numero) WHERE numero = &#039;25&#039;;<br />
<br />
</code></pre></p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/05/imagem042.jpg" alt="Efetuando o Select Otimizado" class="aligncenter size-full wp-image-975" /></p>
<p>Observe que em &#8220;Execution Time&#8221; diferente da primeira opção, o tempo é de &#8220;0.02&#8243;.</p>
<p>Como ele fuciona?</p>
<p>Na prática o sistema fará uma média entre o primeiro e último registro e trará em tela as informações solicitadas!</p>
<p>Claro, não é exatamente desta forma que funciona, mas&#8230; como programador, &#8220;imagino&#8221; que ele busque as informações pulando registros.</p>
<p>Isso dá uma vantagem muito maior, já que ele trás os dados em tela em tempo record (menos da metade do tempo).</p>
<p>Bem&#8230; ficamos por aqui com mais esta matéria.</p>
<p>Caso você queira conhecer mais sobre esta matéria, poste suas dúvidas e observações!</p>
<p>Estaremos falando mais sobre este e outros assuntos nas próximas edições.</p>
<p><a href='http://www.webmaster.pt/wp-content/uploads/2010/05/ficheiros3.zip'>ficheiros.zip</a>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fmysql-otimizacao-indices-5148.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fmysql-otimizacao-indices-5148.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/mysql-otimizacao-indices-5148.html">MySQL &#8211; Otimização Criando Índices</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/mysql-insercao-dados-686.html' rel='bookmark' title='MySQL – Inserção De Dados'>MySQL – Inserção De Dados</a></li>
<li><a href='http://www.webmaster.pt/mysql-agrupando-registros-1250.html' rel='bookmark' title='MySQL &#8211; Agrupando Registos'>MySQL &#8211; Agrupando Registos</a></li>
<li><a href='http://www.webmaster.pt/mysql-actualizacao-dados-695.html' rel='bookmark' title='MySQL &#8211; Actualização De Dados'>MySQL &#8211; Actualização De Dados</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/mysql-otimizacao-indices-5148.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Exemplos Práticos De MySQL</title>
		<link>http://www.webmaster.pt/exemplos-praticos-mysql-3864.html</link>
		<comments>http://www.webmaster.pt/exemplos-praticos-mysql-3864.html#comments</comments>
		<pubDate>Wed, 09 Jun 2010 07:49:17 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=3864</guid>
		<description><![CDATA[Tutorial com exemplos práticos da utilização de comandos MySQL<p><a href="http://www.webmaster.pt/exemplos-praticos-mysql-3864.html">Exemplos Práticos De MySQL</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/mysql-show-columns-2930.html' rel='bookmark' title='MySQL &#8211; Conheça O Show Columns'>MySQL &#8211; Conheça O Show Columns</a></li>
<li><a href='http://www.webmaster.pt/exemplos-praticos-php-11892.html' rel='bookmark' title='Exemplos Práticos De PHP'>Exemplos Práticos De PHP</a></li>
<li><a href='http://www.webmaster.pt/classe-conexao-php-mysql-2780.html' rel='bookmark' title='MySQL &#8211; Classe de Conexão PHP e MySQL'>MySQL &#8211; Classe de Conexão PHP e MySQL</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Nas matérias anteriores demos várias dicas sobre o uso do MySQL!</p>
<p>Para complementar esta matéria, hoje vamos dar exemplos fundamentais de seu uso.</p>
<h2>Introdução</h2>
<p>Como falamos anteriormente, já demos vários exemplos práticos sobre o MySQL, mas nunca é demais reforçar algumas áreas essenciais!</p>
<p>Por este motivo, estamos falando sobre os fundamentos!</p>
<p>O que são fundamentos? São informações e ensinamentos básicos que você pode usar a qualquer momento!</p>
<p>Abaixo vamos simular alguns exemplos para que você possa entender melhor!</p>
<h2>Criando a Tabela na Base de Dados</h2>
<p>Antes de partirmos para a programação, abra o arquivo script-sql.txt (disponível no ficheiro em anexo) e cole seu conteúdo no Programa utilizado para gerenciamento da base de dados.</p>
<p>OBS.: Neste ficheiro você deverá encontrar o código abaixo:</p>
<p><pre><code><br />
----- CRIANDO A TABELA tbl_usuarios -----<br />
<br />
CREATE TABLE `tbl_usuarios` (<br />
&nbsp;&nbsp;`id` int(11) NOT NULL auto_increment,<br />
&nbsp;&nbsp;`nome` varchar(150) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;`email` varchar(150) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;`email2` varchar(150) default NULL,<br />
&nbsp;&nbsp;`senha` varchar(50) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;`tipo` char(1) default NULL,<br />
&nbsp;&nbsp;`status` varchar(10) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`id`)<br />
);<br />
<br />
----- INSERINDO DADOS NA TABELA tbl_usuarios -----<br />
<br />
INSERT INTO `tbl_usuarios` VALUES (1,&#039;Administrador&#039;,&#039;comandosusa@gmail.com&#039;,NULL,&#039;123456&#039;,&#039;a&#039;,&#039;1&#039;);<br />
INSERT INTO `tbl_usuarios` VALUES (2,&#039;Quemuel Aquino&#039;,&#039;comandosusa@gmail.com&#039;,&#039;comandosusa@ymail.com&#039;,&#039;123456&#039;,&#039;c&#039;,&#039;1&#039;);<br />
<br />
</code></pre></p>
<p>Em nossas matérias de MySQL utilizamos como padrão o MySQLFront. Caso você queira utilizar este programa, clique em SQL Editor e cole o conteúdo do script (conforme imagem abaixo).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/04/imagem012.jpg" alt="Criando a Tabela" class="aligncenter size-full wp-image-975" /></p>
<p>Após criar a estrutura da base de dados, vamos agora efetuar os testes junto ao MySQLFront.</p>
<h2>Exemplos Práticos</h2>
<p>Trabalhar com estes comandos não é algo difícil. Basta apenas prestar atenção!</p>
<p>Abaixo estaremos dando um pequeno resumo (na prática) sobre os comandos mais usados em MySQL (baseado no script que inserimos na base de dados).</p>
<p><strong>SELECT:</strong><br />
Trata-se do comando usado para &#8220;visualização&#8221; dos registros cadastrados na base de dados.</p>
<p>Ele pode ser usado da seguintes maneiras:</p>
<p>Exemplo 1:<br />
<pre><code><br />
SELECT * FROM tbl_usuarios WHERE id = &#039;2&#039;;<br />
</code></pre></p>
<p>OBS.: No exemplo acima, efetuei o SELECT buscando TODOS os registros da tabela que são identificados pela ID de número &#8220;2&#8243;.</p>
<p>Exemplo 2:<br />
<pre><code><br />
SELECT nome, email, email2 FROM tbl_usuarios WHERE id = &#039;2&#039;;<br />
</code></pre></p>
<p>OBS.: No exemplo acima efetuamos o SELECT buscando apenas 3 campos (nome, email e email2).</p>
<p><strong>INSERT:</strong><br />
Trata-se do comando de Inserção de valores na base de dados.</p>
<p>Ele pode ser executado de 2 maneiras:</p>
<ul>
<li>Apresentando apenas os valores (conforme o exemplo a seguir):<br />
<pre><code><br />
INSERT INTO `tbl_usuarios` VALUES (1,&#039;Administrador&#039;,&#039;comandosusa@gmail.com&#039;,NULL,&#039;123456&#039;,&#039;a&#039;,&#039;1&#039;);<br />
</code></pre></li>
<li>Apresentando os valores e os nomes dos campos (conforme o exemplo a seguir):<br />
<pre><code><br />
INSERT INTO `tbl_usuarios` (nome, email, email2, senha, tipo, status)VALUES (1,&#039;Administrador&#039;,&#039;comandosusa@gmail.com&#039;,NULL,&#039;123456&#039;,&#039;a&#039;,&#039;1&#039;);<br />
</code></pre></li>
</ul>
<p>OBS.: Para evitar problema quanto a inserção em campos diferentes (ou falhas durante a inserção do conteúdo), indicamos a segunda opção.</p>
<p><strong>UPDATE:</strong><br />
Trata-se do comando de atualização de valores na base de dados.</p>
<p>Ele deve ser executado da seguinte maneira:</p>
<p><pre><code><br />
UPDATE tbl_usuarios SET<br />
&nbsp;&nbsp;nome&nbsp;&nbsp; = &#039;VALOR&#039;,<br />
&nbsp;&nbsp;email&nbsp;&nbsp;= &#039;VALOR&#039;,<br />
&nbsp;&nbsp;email2 = &#039;VALOR&#039;,<br />
&nbsp;&nbsp;senha&nbsp;&nbsp;= &#039;VAOR&#039;,<br />
&nbsp;&nbsp;tipo&nbsp;&nbsp; = &#039;VALOR&#039;,<br />
&nbsp;&nbsp;status = &#039;VALOR&#039;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;WHERE id = &#039;VALOR&#039;;<br />
</code></pre></p>
<p>OBS.: Trabalhar com UPDATE não é complicado, porém, é necessário tomar cuidado com a &#8220;,&#8221; (virgula). Ela não deverá ser inserida antes do último ítem a ser atualizado (veja antes da ID).</p>
<p>O erro mais comum do Programador é inserir a vírgula também nesta área, causando assim erro na execução da atualização.</p>
<p><strong>DELETE:</strong><br />
Trata-se do comando de exclusão de valores da base de dados.</p>
<p>Ele &#8220;deve&#8221; ser executado da seguinte maneira:</p>
<p><pre><code><br />
DELETE FROM tbl_usuarios WHERE id = id;<br />
</code></pre></p>
<p>OBS.: A Cláusula WHERE &#8220;deve&#8221; ser inserida. Caso ela não seja inserida, o comando exclui &#8220;TODOS&#8221; os registros da tabela.</p>
<p><strong>SHOW TABLES:</strong><br />
Este comando tem a finalidade de listar todas as tabelas disponíveis na base de dados!</p>
<p>OBS.: Digamos que você esteja desenvolvendo e tenha esquecido o nome de uma tabela? Ele lhe permite uma consulta rápida (veja o exemplo na imagem a seguir).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/04/imagem022.jpg" alt="Listando Tabelas" class="aligncenter size-full wp-image-975" /></p>
<p><strong>SHOW COLUMNS:</strong><br />
O comando abaixo tem a finalidade de listar todos os campos disponíveis na tabela.</p>
<p>OBS.: Esse comando pode ser usado para verificação rápida de um campo.</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/04/imagem031.jpg" alt="Verificando os Campos" class="aligncenter size-full wp-image-975" /></p>
<p>Bem&#8230; são exemplos básicos, porém práticos, onde você precisa tomar muita atenção para não ter problemas!</p>
<p>Claro, existem vários outros&#8230; mas nossa intenção através desta matéria era a de passar os principais comandos (focando nos principais detalhes).</p>
<p>Ficamos aqui com mais esta matéria de MySQL!</p>
<p>Poste suas dúvidas, observações&#8230; em caso de dúvidas ou maiores informações, entre em contato conosco!</p>
<p>Teremos grande prazer em lhe ajudar!</p>
<p><a href='http://www.webmaster.pt/wp-content/uploads/2010/04/anexo.zip'>anexo.zip</a>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fexemplos-praticos-mysql-3864.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fexemplos-praticos-mysql-3864.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/exemplos-praticos-mysql-3864.html">Exemplos Práticos De MySQL</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/mysql-show-columns-2930.html' rel='bookmark' title='MySQL &#8211; Conheça O Show Columns'>MySQL &#8211; Conheça O Show Columns</a></li>
<li><a href='http://www.webmaster.pt/exemplos-praticos-php-11892.html' rel='bookmark' title='Exemplos Práticos De PHP'>Exemplos Práticos De PHP</a></li>
<li><a href='http://www.webmaster.pt/classe-conexao-php-mysql-2780.html' rel='bookmark' title='MySQL &#8211; Classe de Conexão PHP e MySQL'>MySQL &#8211; Classe de Conexão PHP e MySQL</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/exemplos-praticos-mysql-3864.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Control Center</title>
		<link>http://www.webmaster.pt/mysql-control-center-3640.html</link>
		<comments>http://www.webmaster.pt/mysql-control-center-3640.html#comments</comments>
		<pubDate>Thu, 03 Jun 2010 10:20:28 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=3640</guid>
		<description><![CDATA[O que é o MySQL Control Center, onde efectuar o download, como instalar e como configurar.<p><a href="http://www.webmaster.pt/mysql-control-center-3640.html">MySQL Control Center</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/instalar-mysql-2549.html' rel='bookmark' title='MySQL &#8211; Como Instalar O MySQL'>MySQL &#8211; Como Instalar O MySQL</a></li>
<li><a href='http://www.webmaster.pt/mysql-configuracao-iis-asp-808.html' rel='bookmark' title='MySQL &#8211; Configuração MySQL No IIS Para ASP'>MySQL &#8211; Configuração MySQL No IIS Para ASP</a></li>
<li><a href='http://www.webmaster.pt/mysql-dicas-truques-2228.html' rel='bookmark' title='MySQL &#8211; Dicas e Truques'>MySQL &#8211; Dicas e Truques</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Dizem que quem trabalha com Base de Dados MySQL, &#8220;procura facilidade&#8221;, já que trata-se de uma base de dados mais prática!</p>
<p>Até certo ponto concordo com essa lógica; Porém, devo lembrar que o MySQL oferece recursos que muitos Programadores desconhecem!</p>
<p>Bem&#8230; muitos Programadores ao trabalhar com Base de Dados, procuram Programas bonitos, rápidos, mas em muitos casos não conhecem a empresa ou &#8220;quem&#8221; elaborou o Programa!</p>
<p>Isto pode colocar em risco a segurança de suas informações, já que em muitos casos, você não sabe se eles estão coletando suas informações para futuramente fazer uma invasão ao seu site!</p>
<p>Para não haver este problema, hoje vamos falar de um produto que o MySQL elaborou exatamente para lhe dar praticidade, velocidade e principalmente a segurança necessária para efetuar trabalhos junto ao seu banco de dados MySQL!</p>
<p>Vamos falar do MySQL Control Center.</p>
<h2>Onde Encontrar O MySQL Control Center</h2>
<p>Como você já sabe, o Mysql Control Center é um gerenciador de base de dados. Ok, mas&#8230; onde encontrá-lo?</p>
<p>Ele pode ser baixado diretamente no <a href="http://downloads.mysql.com/archives.php?p=mysqlcc&amp;o=-win">site do MySQ</a>L.</p>
<h2>Instalando O MySQL Control Center</h2>
<p>Para quem nunca usou esta ferramenta, vamos explicar abaixo detalhadamente como baixar o Produto e fazer uso dele!</p>
<p>Após visitar o site no endereço acima e baixar o programa, acesse o ficheiro com o nome &#8220;mysqlcc-0.9.2-win32.zip&#8221; e descompacte seu conteúdo.</p>
<p>Acesse o diretório com os diversos ficheiros e execute o ficheiro de nome &#8220;Setup.exe&#8221;.</p>
<p>Deverá aparecer a tela de apresentação (conforme imagem a seguir).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem0116.jpg" alt="Apresentação do MySQL Control Center" class="aligncenter size-full wp-image-975" /></p>
<p>Clique em &#8220;Next&#8221; para continuar.</p>
<p>Após a tela de apresentação, o Sistema deverá lhe apresentar a tela de licença. Clique em &#8220;I accept the license agreement&#8221; (conforme imagem a seguir).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem0214.jpg" alt="Licença do MySQL Control Center" class="aligncenter size-full wp-image-975" /></p>
<p>Clique em &#8220;Next&#8221; para continuar.</p>
<p>Na tela a seguir, você terá uma rápida apresentação do sistema, isto é: o famoso &#8220;readme&#8221; (conforme imagem a seguir).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem0312.jpg" alt="Informações sobre o MySQL Control Center" class="aligncenter size-full wp-image-975" /></p>
<p>Clique em &#8220;Next&#8221; para continuar.</p>
<p>Na tela a seguir, você terá a opção de mudar o diretório de destino (conforme imagem a seguir).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem049.jpg" alt="Local de instalação do MySQL Control Center" class="aligncenter size-full wp-image-975" /></p>
<p>Clique em &#8220;Next&#8221; para continuar.</p>
<p>Na tela a seguir, você terá a opção de selecionar novos recursos ao MySQL Control Center (conforme imagem a seguir).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem059.jpg" alt="Selecionando novos Recursos ao MySQL Control Center" class="aligncenter size-full wp-image-975" /></p>
<p>Clique em &#8220;Next&#8221; para continuar.</p>
<p>Bem&#8230; chegamos aos momentos finais antes da Instalação!</p>
<p>Se você tem alguma dúvida sobre algo que foi configurado ou selecionado, clique em &#8220;Back&#8221; para retornar, ou então, clique em &#8220;Next&#8221; para prosseguir (conforme imagem a seguir).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem067.jpg" alt="verificando as configurações" class="aligncenter size-full wp-image-975" /></p>
<p>Veja que após clicar em &#8220;Next&#8221;, o sistema começa a fazer várias atualizações, verificações, configurações (conforme imagem a seguir)!</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem076.jpg" alt="Atualizando o Sistema" class="aligncenter size-full wp-image-975" /></p>
<p>Após efetuar todas as atualizações, verificações, ele finalmente finaliza a sua instalação (conforme imagem a seguir).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem086.jpg" alt="Finalizando a Instalação" class="aligncenter size-full wp-image-975" /></p>
<h2>Configurações E Uso do MySQL Control Center</h2>
<p>Como você verá a seguir, a equipe do MySQL fez um sistema prático justamente para facilitar o seu uso!</p>
<p>Após a instalação do Sistema, veja que aparecerá na área de trabalho um ícone com o nome a seguir: &#8220;MySQL Control Center&#8221;. Clique nele para abrir o sistema!</p>
<p>Ao abrir o sistema, automaticamente abrirá a tela &#8220;Register Server&#8221;, para que você possa configurar uma base de dados.</p>
<p>Preencha os dados, seguindo o padrão que orientamos (conforme imagem a seguir).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem094.jpg" alt="configurando uma base de dados" class="aligncenter size-full wp-image-975" /></p>
<p>Feita a configuração, o Servidor entrará na lista, porém, desconectado.</p>
<p>Clique em &#8220;Connect&#8221; para realizar a conexão (conforme imagem a seguir).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem103.jpg" alt="realizando a conexão à base de dados" class="aligncenter size-full wp-image-975" /></p>
<p>Realizada a conexão, clique em &#8220;Databases&#8221; e selecione sua base de dados ideal (conforme exemplos a seguir)!</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem112.jpg" alt="selecionando a base de dados" class="aligncenter size-full wp-image-975" /></p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem121.jpg" alt="selecionando a base de dados" class="aligncenter size-full wp-image-975" /></p>
<p>A partir daí, para continuar usando o aplicativo, é só você dar duplo clique em cima da tabela desejada e customizar o aplicativo de acordo com seus interesses!</p>
<p>OBS.: Em meu caso, eu ativei o sistema para trabalhar com a parte de SQL e design. Caso eu queira alterar algo, vou ao design, caso queira fazer qualquer busca ou testar algo, vou ao SQL (conforme imagem a seguir).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem131.jpg" alt="utilizando o sistema" class="aligncenter size-full wp-image-975" /></p>
<p>Espero ter lhe ajudado em algo com esta matéria!</p>
<p>Em caso de dúvidas ou maiores informações, entre em contato conosco&#8230;</p>
<p>Teremos prazer em lhe ajudar.
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fmysql-control-center-3640.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fmysql-control-center-3640.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/mysql-control-center-3640.html">MySQL Control Center</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/instalar-mysql-2549.html' rel='bookmark' title='MySQL &#8211; Como Instalar O MySQL'>MySQL &#8211; Como Instalar O MySQL</a></li>
<li><a href='http://www.webmaster.pt/mysql-configuracao-iis-asp-808.html' rel='bookmark' title='MySQL &#8211; Configuração MySQL No IIS Para ASP'>MySQL &#8211; Configuração MySQL No IIS Para ASP</a></li>
<li><a href='http://www.webmaster.pt/mysql-dicas-truques-2228.html' rel='bookmark' title='MySQL &#8211; Dicas e Truques'>MySQL &#8211; Dicas e Truques</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/mysql-control-center-3640.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MySQL &#8211; Integridade Referencial</title>
		<link>http://www.webmaster.pt/mysql-integridade-referencial-3598.html</link>
		<comments>http://www.webmaster.pt/mysql-integridade-referencial-3598.html#comments</comments>
		<pubDate>Wed, 02 Jun 2010 06:04:56 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=3598</guid>
		<description><![CDATA[O Que É Integridade Referencial No MySQL? O Que O InnoDB Faz?<p><a href="http://www.webmaster.pt/mysql-integridade-referencial-3598.html">MySQL &#8211; Integridade Referencial</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/mysql-insercao-dados-686.html' rel='bookmark' title='MySQL – Inserção De Dados'>MySQL – Inserção De Dados</a></li>
<li><a href='http://www.webmaster.pt/mysql-actualizacao-dados-695.html' rel='bookmark' title='MySQL &#8211; Actualização De Dados'>MySQL &#8211; Actualização De Dados</a></li>
<li><a href='http://www.webmaster.pt/mysql-agrupando-registros-1250.html' rel='bookmark' title='MySQL &#8211; Agrupando Registos'>MySQL &#8211; Agrupando Registos</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Na matéria anterior falamos sobre vários assuntos! Conexões, Inserções, exclusões, atualizações&#8230; Hoje estaremos aprofundando um pouco mais nossas atividades, falando de um assunto um pouco mais avançado!</p>
<p>Dizem que quem trabalha com Base de Dados MySQL, &#8220;procura facilidade&#8221;, já que trata-se de uma base de dados mais prática!</p>
<p>Até certo ponto concordo com essa lógica; Porém, devo lembrar que ela tem recursos que alguns Programadores desconhecem!</p>
<p>No MySQL (assim como em diversos tipos de bases de dados) é possível escolher o formato de armazenamento da tabela.</p>
<p>OBS.: Alguns recursos estão diretamente relacionados ao tipo de tabela (ex.: nível de lock e integridade referencial).</p>
<p>Neste artigo como de costume, através de imagens e informações, vamos mostrar como você pode trabalhar com esses recursos!</p>
<h2>O Que É Integridade Referencial No MySQL?</h2>
<p>Você já passou pela situação onde ao efetuar um SELECT um cliente ou até mesmo você teve dúvidas se o resultado obtido estava correto?</p>
<p>Quem trabalha com o CONSTRAINTS tem esse tipo de segurança!</p>
<p>Ele adiciona algumas restrições às chaves estrangeiras, fazendo com que seu Sistema retorne os valores corretos, sem erros!</p>
<p>Para usarmos este tipo de solução nas tabelas, precisamos que elas estejam como &#8220;InnoDB&#8221;.</p>
<h2>O Que O InnoDB Faz?</h2>
<p>O InnoDB tem a finalidade de inserir em sua tabela as restrições de integridade a seguir:</p>
<ul>
<li>CASCADE;</li>
<li>RESTRICT;</li>
<li>SET NULL;</li>
<li>SET DEFAULT.</li>
</ul>
<p>Bem&#8230; abaixo vamos disponibilizar um exemplo! Você poderá utilizar em seu Projeto!</p>
<p>Antes disso, preciso fazer algumas considerações!</p>
<p>No caso de CASCADE, quando removemos um registro da tabela usando a chave estrangeira, os registros relacionados ao que foi removido, serão automaticamente eliminados.</p>
<p>Quanto ao RESTRICT ele não permitirá a remoção de registros que possuam relacionamentos em outras tabelas. Isto é, trata-se de uma opção mais segura!</p>
<p>Bem&#8230; você pode dizer: Ah, ok&#8230; mas não entendi nada&#8230;</p>
<p>Vamos montar um exemplo prático?</p>
<h2>Projeto Teste</h2>
<p>Em nosso Projeto teremos 3 tabelas:</p>
<ol>
<li>Tabela de Funcionários</li>
<li>Tabela de Serviços</li>
<li>Tabela de Notas</li>
</ol>
<p>OBS.: </p>
<p>Você poderá seguir a seguinte lógica:</p>
<p>O Funcionário da empresa de Tecnologia &#8220;EMPRESA A&#8221; presta os serviços &#8220;1, 2 e 3&#8243;.</p>
<p>Ao vender pelo telefone um certo Produto / Serviço, o Sistema solicita que o &#8220;CLIENTE&#8221; dê uma nota pelo atendimento!</p>
<p>Bem&#8230; este será o foco de suas tabelas, que poderão ser implementada com a sua linguagem de Programação preferencial!</p>
<h2>Criando As Tabelas Na Base De Dados:</h2>
<p>Antes de partirmos para a programação, abra o arquivo script-sql.txt (disponível no ficheiro em anexo) e cole seu conteúdo no Programa utilizado para gerenciamento da base de dados.</p>
<p>OBS.: Neste ficheiro você deverá encontrar o código abaixo:</p>
<p><pre><code><br />
----- CRIANDO A TABELA E CONTEÚDO DE funcionarios -----<br />
<br />
CREATE TABLE funcionarios (<br />
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,<br />
nome CHAR(30) NOT NULL<br />
) TYPE=InnoDB; <br />
<br />
INSERT INTO `funcionarios` VALUES (1,&#039;Funcionario 01&#039;);<br />
INSERT INTO `funcionarios` VALUES (2,&#039;Funcionario 02&#039;);<br />
INSERT INTO `funcionarios` VALUES (3,&#039;Funcionario 03&#039;);<br />
<br />
----- CRIANDO A TABELA servicos -----<br />
<br />
CREATE TABLE servicos (<br />
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,<br />
nome CHAR(30) NOT NULL<br />
) TYPE=InnoDB; <br />
<br />
INSERT INTO `servicos` VALUES (1,&#039;Telefonia VOIP&#039;);<br />
INSERT INTO `servicos` VALUES (2,&#039;Hospedagem de Site&#039;);<br />
INSERT INTO `servicos` VALUES (3,&#039;Desenv. Sistemas&#039;);<br />
<br />
----- CRIANDO A TABELA notas -----<br />
<br />
CREATE TABLE notas (<br />
funcionario_id INT NOT NULL,<br />
servico_id INT NOT NULL,<br />
date DATE NOT NULL,<br />
nota DOUBLE NOT NULL,<br />
PRIMARY KEY(funcionario_id, servico_id, date),<br />
INDEX i2 (servico_id),<br />
FOREIGN KEY (funcionario_id) REFERENCES funcionarios(id) ON DELETE CASCADE,<br />
FOREIGN KEY (servico_id) REFERENCES servicos(id) ON DELETE RESTRICT<br />
) TYPE=InnoDB;<br />
<br />
INSERT INTO `notas` VALUES (2,1,&#039;2010-05-10&#039;,10);<br />
INSERT INTO `notas` VALUES (2,2,&#039;2010-05-10&#039;,9);<br />
INSERT INTO `notas` VALUES (2,1,&#039;2010-05-10&#039;,7);<br />
INSERT INTO `notas` VALUES (2,2,&#039;2010-05-10&#039;,8);<br />
<br />
</code></pre></p>
<p>Em nossas matérias de MySQL geralmente utilizamos como padrão o MySQLFront. Caso você queira utilizar este programa, clique em SQL Editor e cole o conteúdo do script (conforme imagem abaixo).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem0115.jpg" alt="Criando a Tabela" class="aligncenter size-full wp-image-975" /></p>
<p>Se você nunca trabalhou com o Constranints, certamente terá um pouco de dificuldades, mas&#8230; te aconselho a acompanhar algumas matérias de MSSQL, onde falamos sobre este assunto ou aguarde!</p>
<p>Estaremos falando mais sobre este tipo de atividade em nossas próximas edições, focando também em exemplos práticos.</p>
<p>Fique ligado em nossas matérias! Com certeza você vai gostar das demais matérias!</p>
<p>Em caso de dúvidas ou maiores informações, estamos a sua inteira disposição!</p>
<p><a href='http://www.webmaster.pt/wp-content/uploads/2010/03/arquivos5.zip'>arquivos.zip</a>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fmysql-integridade-referencial-3598.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fmysql-integridade-referencial-3598.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/mysql-integridade-referencial-3598.html">MySQL &#8211; Integridade Referencial</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/mysql-insercao-dados-686.html' rel='bookmark' title='MySQL – Inserção De Dados'>MySQL – Inserção De Dados</a></li>
<li><a href='http://www.webmaster.pt/mysql-actualizacao-dados-695.html' rel='bookmark' title='MySQL &#8211; Actualização De Dados'>MySQL &#8211; Actualização De Dados</a></li>
<li><a href='http://www.webmaster.pt/mysql-agrupando-registros-1250.html' rel='bookmark' title='MySQL &#8211; Agrupando Registos'>MySQL &#8211; Agrupando Registos</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/mysql-integridade-referencial-3598.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL &#8211; Trabalhando com Blob Fields</title>
		<link>http://www.webmaster.pt/mysql-blob-fields-3293.html</link>
		<comments>http://www.webmaster.pt/mysql-blob-fields-3293.html#comments</comments>
		<pubDate>Wed, 26 May 2010 08:32:27 +0000</pubDate>
		<dc:creator>Quemuel Aquino</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.webmaster.pt/?p=3293</guid>
		<description><![CDATA[O que são Blob Fields? Como adicionar uma imagem ao MySQL em formato BLOG.<p><a href="http://www.webmaster.pt/mysql-blob-fields-3293.html">MySQL &#8211; Trabalhando com Blob Fields</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>

Related posts:<ol>
<li><a href='http://www.webmaster.pt/formatar-data-pesquisa-7948.html' rel='bookmark' title='Formatar Data Na Pesquisa'>Formatar Data Na Pesquisa</a></li>
<li><a href='http://www.webmaster.pt/mysql-alterar-tabelas-1635.html' rel='bookmark' title='MySQL &#8211; Alterar Tabelas Em MySQL'>MySQL &#8211; Alterar Tabelas Em MySQL</a></li>
<li><a href='http://www.webmaster.pt/mysql-show-columns-2930.html' rel='bookmark' title='MySQL &#8211; Conheça O Show Columns'>MySQL &#8211; Conheça O Show Columns</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Nas matérias anteriores falamos bastante sobre consultas diversas, instalações de aplicativos, etc.</p>
<p>Hoje, vamos implementar um pouco mais, falando sobre Blob Fields.</p>
<p>Não sei você, mas no início de minha carreira eu já passei por uma situação constrangedora, quando precisei inserir uma imagem junto a base de dados e passei um certo tempo estudando, procurando uma solução para resolver o problema!</p>
<p>Se você ainda não passou por esta situação ou se já fez algo similar, mas ainda tem dúvidas, acompanhe conosco esta matéria!</p>
<h2>O Que É Blob Fields?</h2>
<p>O Campo Blob (Binary Large Object) é um tipo de campo criado para armazenar qualquer tipo de informações em formato binário na tabela.</p>
<p>Por ser um tipo de campo voltado a &#8220;Programadores Avançados&#8221;, sugerimos usá-lo apenas quando necessário (mesmo assim, se você souber usá-lo).</p>
<p>Dizemos isso pois vários Programadores colocam as imagens diretamente no banco de dados (o teóricamente é mais prático), porém, os problemas de lentidão podem ser constantes!</p>
<p>Claro, existem outros problemas, mas nosso foco aqui não é o de lhe desanimar a usar esta solução e sim explicar a melhor forma de fazer uso dela.</p>
<p>Os Campos Blobs podem ser divididos em:</p>
<ul>
<li><strong>Blob</strong>: Armazena até 16535 caracteres (16 bits);</li>
<li><strong>LogBlob</strong>: Armazena até 4294967295 caracteres (32 bits);</li>
<li><strong>MediumBlob</strong>: Armazena até 16777216 caracteres (24 bits);</li>
<li><strong>TINYBlob</strong>: Armazena até 255 caracteres (8 bits);</li>
</ul>
<p>Antes de darmos início à parte prática, vou apenas finalizar com algumas considerações:</p>
<ul>
<li>Os campos Blob não podem ser chave primária (exceto o TinyBlob);</li>
<li>O MySQL trabalha com campos Blob, porém, são interpretados como campos texto (TEXT).</li>
<li>OBS.: A única diferença é que esses campos são case sensitive.</li>
</ul>
<h2>Criando As Tabelas Na Base De Dados:</h2>
<p>Antes de partirmos para a programação, abra o arquivo script-sql.txt (disponível no ficheiro em anexo) e cole seu conteúdo no Programa utilizado para gerenciamento da base de dados.</p>
<p>OBS.: Neste ficheiro você deverá encontrar o código abaixo:</p>
<p><pre><code><br />
----- TABELA DE NOTÍCIAS -----<br />
<br />
CREATE TABLE `tbl_noticias` (<br />
&nbsp;&nbsp;`id` int(11) NOT NULL auto_increment,<br />
&nbsp;&nbsp;`titulo` varchar(150) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;`descricao` varchar(150) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;`texto` text default NULL,<br />
&nbsp;&nbsp;`imagem` MEDIUMBLOB,<br />
&nbsp;&nbsp;`status` varchar(10) NOT NULL default &#039;&#039;,<br />
&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`id`)<br />
);<br />
<br />
----- INSERINDO CONTEÚDO NA TABELA NOTÍCIAS -----<br />
<br />
INSERT INTO tbl_noticias (titulo, descricao, texto, imagem, status ) values(&quot;Lorem Ipsum Dolor&quot;, &quot;Lorem Ipsum Dolor Lorem Ipsum Dolor&quot;, &quot;Lorem Ipsum Dolor Lorem Ipsum Dolor&quot;, &quot;teste.gif&quot;, &quot;1&quot;);<br />
<br />
</code></pre></p>
<p>Em nossas matérias de MySQL utilizamos como padrão o MySQLFront. Caso você queira utilizar este programa, clique em SQL Editor e cole o conteúdo do script (conforme imagem abaixo).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem0110.jpg" alt="Criando a Tabela" class="aligncenter size-full wp-image-975" /></p>
<p>Após criar a estrutura da base de dados, vamos inserir conteúdo (Conforme imagem a seguir).</p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem029.jpg" alt="Inserindo conteúdo na Tabela" class="aligncenter size-full wp-image-975" /></p>
<p><img src="http://www.webmaster.pt/wp-content/uploads/2010/03/imagem037.jpg" alt="Selecionando conteúdo na Tabela" class="aligncenter size-full wp-image-975" /></p>
<p>OBS.: Veja que na Imagem acima o campo &#8220;imagem&#8221; aparece em formato &#8220;BLOB&#8221;.</p>
<p>Bem&#8230; espero ter lhe ajudado em algo com este pequeno exemplo.</p>
<p>Fiquei ligado nas próximas matérias de Programação, onde estaremos dando informações mais detalhadas sobre este assunto (relacionado à linguagem de programação).</p>
<p>Envie-nos suas dúvidas! Nosso compromisso é o de sempre lhe ajudar!</p>
<p><a href='http://www.webmaster.pt/wp-content/uploads/2010/03/ficheiros1.zip'>ficheiros.zip</a>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmaster.pt%2Fmysql-blob-fields-3293.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmaster.pt%2Fmysql-blob-fields-3293.html&amp;source=marketocracia&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.webmaster.pt/mysql-blob-fields-3293.html">MySQL &#8211; Trabalhando com Blob Fields</a> &eacute; um artigo da nossa comunidade: <a href="http://www.webmaster.pt">Webmaster.pt Marketocracia Digital</a></p>
<p>Related posts:<ol>
<li><a href='http://www.webmaster.pt/formatar-data-pesquisa-7948.html' rel='bookmark' title='Formatar Data Na Pesquisa'>Formatar Data Na Pesquisa</a></li>
<li><a href='http://www.webmaster.pt/mysql-alterar-tabelas-1635.html' rel='bookmark' title='MySQL &#8211; Alterar Tabelas Em MySQL'>MySQL &#8211; Alterar Tabelas Em MySQL</a></li>
<li><a href='http://www.webmaster.pt/mysql-show-columns-2930.html' rel='bookmark' title='MySQL &#8211; Conheça O Show Columns'>MySQL &#8211; Conheça O Show Columns</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster.pt/mysql-blob-fields-3293.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

