<?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>GrindSmart &#187; database</title>
	<atom:link href="http://grindsmart.com/tag/database/feed/" rel="self" type="application/rss+xml" />
	<link>http://grindsmart.com</link>
	<description></description>
	<lastBuildDate>Thu, 05 Aug 2010 13:50:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>10 MySQL Tools that Streamline Your Development Process</title>
		<link>http://grindsmart.com/2010/03/10-mysql-tools-that-streamline-your-development-process/</link>
		<comments>http://grindsmart.com/2010/03/10-mysql-tools-that-streamline-your-development-process/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 13:33:08 +0000</pubDate>
		<dc:creator>GrindSmart Editorial</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://grindsmart.com/?p=605</guid>
		<description><![CDATA[
			
				
			
		
With the help of various well-designed tools administering your MySQL databases becomes a task that&#8217;s much easier to do then if you were to execute them through conventional methods. Developers need to always be on the look-out for tools that will shorten and ease their time spent on development. This is why we&#8217;ve compiled 10 ]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgrindsmart.com%2F2010%2F03%2F10-mysql-tools-that-streamline-your-development-process%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgrindsmart.com%2F2010%2F03%2F10-mysql-tools-that-streamline-your-development-process%2F&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>With the help of various well-designed tools administering your MySQL databases becomes a task that&#8217;s much easier to do then if you were to execute them through conventional methods. Developers need to always be on the look-out for tools that will shorten and ease their time spent on development. This is why we&#8217;ve compiled <strong>10 MySQL Tools that Streamline Your Development Process</strong>.</p>
<p>Check out our previous post on <a href="http://grindsmart.com/2009/12/vital-tips-for-working-with-mysql-databases/"><strong>Working with MySQL Databases</strong></a>, and remember to <a href="http://feeds.feedburner.com/grindsmartnews"><strong>subscribe</strong></a> to our feed for up-to-date articles and resources!</p>
<h2><a href="http://dev.mysql.com/workbench/" target="_blank">MySQL Workbench</a></h2>
<p><strong><a href="http://grindsmart.com/wp-content/uploads/2010/03/sql-1.jpg"><img class="alignnone size-full wp-image-610" title="sql-1" src="http://grindsmart.com/wp-content/uploads/2010/03/sql-1.jpg" alt="" width="615" height="462" /></a><br />
</strong></p>
<p><strong>MySQL Workbench</strong> is a cross-platform, visual database design tool developed by MySQL. It is the highly anticipated successor application of the DBDesigner4 project. MySQL Workbench will be available as a native GUI tool on Window, Linux and OS X. MySQL Workbench is available in different editions. See the following link for more information about the editions available.</p>
<p><a title="About - Editions" href="http://wb.mysql.com/?page_id=11">About MySQL Workbench – Editions</a></p>
<p><a href="http://dev.mysql.com/downloads/workbench/5.2.html"><strong>Download</strong></a></p>
<h2><a href="http://www.phpmyadmin.net/home_page/index.php">phpMyAdmin</a></h2>
<p><strong>phpMyAdmin</strong> is a free software tool written in <a href="http://php.net/">PHP</a> intended to handle the administration of <a href="http://mysql.com/">MySQL</a> over the World Wide Web. phpMyAdmin supports a wide range of operations with MySQL. The most frequently used operations are supported by the user interface  (managing databases, tables, fields, relations, indexes, users, permissions, etc), while you still have the ability to directly execute any SQL statement.</p>
<div>
<blockquote>
<h4>Features</h4>
<ul>
<li>Intuitive web interface</li>
<li>Support for most MySQL features:
<ul>
<li>browse and drop databases, tables, views, fields and indexes</li>
<li>create, copy, drop, rename and alter databases, tables, fields and                 indexes</li>
<li>maintenance server, databases and tables, with proposals on server                 config</li>
<li>execute, edit and bookmark any                 <abbr title="structured query language">SQL</abbr>-statement, even                 batch-queries</li>
<li>manage MySQL users and privileges</li>
<li>manage stored procedures and triggers</li>
</ul>
</li>
<li>Import data from             <abbr title="comma separated values">CSV</abbr> and             <abbr title="structured query language">SQL</abbr></li>
<li>Export data to various formats:             <abbr title="comma separated values">CSV</abbr>,             <abbr title="structured query language">SQL</abbr>,             <abbr title="Extensible Markup Language">XML</abbr>,             <abbr title="Portable Document Format">PDF</abbr>,             <abbr title="International Organization for Standards">ISO</abbr>/<abbr title="International Electrotechnical Commission">IEC</abbr> 26300 -</li>
<li>Administering multiple servers</li>
<li>Creating <abbr title="Portable Document Format">PDF</abbr> graphics of             your database layout</li>
<li>Creating complex queries using Query-by-example (QBE)</li>
<li>Searching globally in a database or a subset of it</li>
<li>Transforming stored data into any format using a set of predefined             functions</li>
<li>And much more&#8230;</li>
</ul>
</blockquote>
</div>
<p><a href="http://sourceforge.net/projects/phpmyadmin/files%2FphpMyAdmin%2F3.3.1%2FphpMyAdmin-3.3.1-notes.html/download">Download</a></p>
<h2><a href="http://www.aquafold.com/" target="_blank">Aqua Data Studio</a></h2>
<p><strong><a href="http://grindsmart.com/wp-content/uploads/2010/03/sql-2.jpg"><img class="alignnone size-full wp-image-611" title="sql-2" src="http://grindsmart.com/wp-content/uploads/2010/03/sql-2.jpg" alt="" width="615" height="388" /></a><br />
</strong></p>
<p><strong>Aqua         Data Studio</strong> is a complete Integrated Development Environment (IDE)         for database administrators, software developers and business analysts. It provides four major areas of functionality:         1) Database query and administration tools; 2) a suite of compare tools         for databases, source control and file systems; 3) a complete and integrated         source control client for Subversion (SVN) and CVS; and 4) a database         modeler as powerful as the best standalone database diagramming tools.</p>
<p><a href="http://www.aquafold.com/downloads.html">Download</a></p>
<h2><a href="http://code.google.com/p/sqlyog/">SQLyog</a></h2>
<p><strong>SQLyog</strong> is an all-round Management Tool (/&#8217;GUI&#8217;/'Frontend&#8217;) for the MySQL database. The Community Edition is Free &amp; Open Source under GPL license. Everything a developer typically requires when working with MySQL is available at a mouse-click, with a query result set, query profiler, server messages, table data, table information, and query history always available via the tabbed interface shown in Figure 5. In addition, it&#8217;s easy to create views and stored procedures, a feature I personally have returned to time and again in recent weeks.</p>
<p><a href="http://code.google.com/p/sqlyog/downloads/list">Download</a></p>
<h2><a href="http://www.mysqlfront.de/wp/">MYSQL Front</a></h2>
<p><strong><a href="http://grindsmart.com/wp-content/uploads/2010/03/sql-3.jpg"><img class="alignnone size-full wp-image-612" title="sql-3" src="http://grindsmart.com/wp-content/uploads/2010/03/sql-3.jpg" alt="" width="615" height="428" /></a><br />
</strong></p>
<p>This graphical GUI for the MySQL database, is a “real” application, it can offer a more refined user-interface than is possible with systems built on PHP and HTML. Response is immediate, as there is no delay of reloading HTML-pages. If your provider allows it, <strong>MySQL-Front</strong> can make direct contact with the database. Otherwise, only one small script needs to be installed on the publishing website. Login information are stored on your hard disk, so you no longer have to log on to different web interfaces.</p>
<p><a href="http://www.mysqlfront.de/pub/SQL-Front_Setup.exe">Download</a></p>
<h2><a href="http://jeremy.zawodny.com/mysql/mytop/mytop.html">mytop</a></h2>
<p><strong>mytop</strong> is a console-based (non-gui) tool for monitoring the threads and overall performance of a MySQL 3.22.x, 3.23.x, and 4.x server. It runs on most Unix systems (including Mac OS X) which have Perl, <a href="http://search.cpan.org/search?dist=DBI">DBI</a>, and <a href="http://search.cpan.org/search?dist=TermReadKey">Term::ReadKey</a> installed. And with <a href="http://search.cpan.org/search?dist=ANSIColor">Term::ANSIColor</a> installed you even get color. If you install <a href="http://search.cpan.org/search?mode=module&amp;query=Time%3A%3AHiRes">Time::HiRes</a>, you&#8217;ll get good real-time queries/second stats. As of version 0.7, it even runs on Windows (somewhat).</p>
<p><strong>mytop</strong> was inspired by the system monitoring tool <strong>top</strong>. I routinely use <strong>top</strong> on Linux, FreeBSD, and Solaris. You are likely to notice features from each of them here.<strong> mytop</strong> will connect to a MySQL server and periodically run the <em>SHOW PROCESSLIST</em> and <em>SHOW STATUS</em> commands and attempt to summarize the information from them in a useful format.</p>
<p><a href="http://jeremy.zawodny.com/mysql/mytop/mytop-1.6.tar.gz">Download</a></p>
<h2><a href="http://www.sequelpro.com/">Sequel Pro</a></h2>
<p><strong><a href="http://grindsmart.com/wp-content/uploads/2010/03/sql-4.jpg"><img class="alignnone size-full wp-image-613" title="sql-4" src="http://grindsmart.com/wp-content/uploads/2010/03/sql-4.jpg" alt="" width="615" height="343" /></a><br />
</strong></p>
<p>This MAC OSX database management app gives you direct access to your MySQL databases on local and remote servers with support for importing and exporting data from popular files including SQL, CSV and XML. Sequel Pro started as a fork of the open source CocoaMySQL project. <strong>Sequel Pro</strong> gives you direct access to your MySQL databases on local and remote servers.</p>
<blockquote>
<ul>
<li>Easily set up a connection to the local MySQL server on your Mac</li>
<li>Full table management including indexes</li>
<li>Support for MySQL Views</li>
<li>Use multiple windows to work with multiple databases/tables at once</li>
</ul>
</blockquote>
<p><a href="http://www.sequelpro.com/download.html">Download</a></p>
<h2><a href="http://www.sqlbuddy.com/">SQL Buddy</a></h2>
<p><strong>SQL Buddy</strong> is a great lightweight ajax powered database management tool It is as easy to install as it gets. All you need to do is unzipping the folder to your server – it doesn’t get simpler! You can do most of the operations that the majority of users will need. There is also a useful range of keyboard shortcuts, which you can view here: <a href="http://www.sqlbuddy.com/help/">SQL Buddy Keyboard Shortcuts</a>.</p>
<p><a href="http://www.sqlbuddy.com/download/dl.php">Download</a></p>
<h2><a href="http://sidu.sourceforge.net/sidu/">MySQL Sidu</a></h2>
<p><strong><a href="http://grindsmart.com/wp-content/uploads/2010/03/sql-5.jpg"><img class="alignnone size-full wp-image-614" title="sql-5" src="http://grindsmart.com/wp-content/uploads/2010/03/sql-5.jpg" alt="" width="615" height="228" /></a><br />
</strong></p>
<p><strong>MySQL Sidu</strong> is a FREE MySQL client working via web browser. MySQL Sidu is simple and easy database tool to use! Sidu stands for Select Insert Delete Update. Sidu can do more jobs than these and looks like MySQL front-end software GUI rather than web page.</p>
<div>
<blockquote>
<ul>
<li>SIDU stands for SQL <strong>S</strong>elect <strong>I</strong>nsert <strong>D</strong>elete <strong>U</strong>pdate.</li>
<li>SIDU can do more jobs than above tasks.</li>
<li>SIDU works via web browsers such as Firefox, IE, Opera, Safari, Chrome, etc.</li>
<li>SIDU looks like database font-end software GUI rather than web pages.</li>
<li>SIDU works for MySQL, Postgres and SQLite DBs.</li>
</ul>
</blockquote>
<p><a href="http://downloads.sourceforge.net/sidu/sidu31.zip">Download</a></p>
<h2><a href="http://mysql.navicat.com/">Navicat Lite MySQL Admin Tool</a></h2>
<p><strong>Navicat</strong> is a fast, reliable and popular Database Administration tool purpose-built for simplifying database management and reducing administrative costs. Designed to meet the needs of database administrators, developers, and small and medium businesses, Navicat is built with an intuitive GUI which lets you create, organize, access and share information in a secure and easy way.</p>
<p>Navicat for MySQL is a powerful Database administration and development tool for MySQL. It works with any MySQL Database Server from version 3.21 or above, and supports most of the latest MySQL features including Trigger, Stored Procedure, Function, Event, View, and Manage User, etc. Navicat Lite is available as a free download only for non-commercial customers.</p>
<p><a href="http://www.navicat.com/index.php?option=com_content&amp;view=article&amp;id=20&amp;Itemid=69">Download</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://grindsmart.com/2010/03/10-mysql-tools-that-streamline-your-development-process/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Vital MySQL Development Security Tips</title>
		<link>http://grindsmart.com/2010/02/vital-mysql-development-security-tips/</link>
		<comments>http://grindsmart.com/2010/02/vital-mysql-development-security-tips/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 18:57:50 +0000</pubDate>
		<dc:creator>GrindSmart Editorial</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Popular]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[management system]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[users]]></category>

		<guid isPermaLink="false">http://grindsmart.com/?p=397</guid>
		<description><![CDATA[
			
				
			
		
When you&#8217;re developing applications or a website using MySQL, there are a few tips you can follow to enhance the security of your database. When you create a database and use PHP to code your applications you&#8217;re automatically faced with hash security risks that can hinder what you&#8217;ve worked hard to develop. Below, we&#8217;re going ]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgrindsmart.com%2F2010%2F02%2Fvital-mysql-development-security-tips%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgrindsmart.com%2F2010%2F02%2Fvital-mysql-development-security-tips%2F&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>When you&#8217;re developing applications or a website using <strong>MySQL</strong>, there are a few tips you can follow to enhance the security of your database. When you create a database and use PHP to code your applications you&#8217;re automatically faced with hash security risks that can hinder what you&#8217;ve worked hard to develop. Below, we&#8217;re going to touch base on a few Vital MySQL Development Security Tips that will help you secure your database. If you haven&#8217;t already, read our <a href="http://grindsmart.com/2009/12/vital-tips-for-working-with-mysql-databases/" target="_self"><strong>Vital Tips for Working with MySQL Databases</strong></a> article for more information.</p>
<p>Hope you enjoy! Please remember to <a href="http://feeds.feedburner.com/grindsmartnews"><strong>subscribe</strong></a> to our feed and leave us a comment with your thoughts!</p>
<h1><strong>How Does MySQL Really Work?</strong></h1>
<p><strong>MySQL security</strong> operates on the <a href="http://en.wikipedia.org/wiki/Access_control_list">Access Control List</a> (ACL) fundamentals for all connections, queries and several other functions that users perform. But what does it all mean? This pretty much means that as different users access your site, each one can have a different level of access to certain databases and tables. Some will also be limited to certain operations, however, this depends totally on what level of security and privileges you, the developer, decides to give users. In example, a user with complete privileges that accesses your your site may be able to perform such operations as view registered users, delete them, add new users, email them and moderate them in general. While another set of users may be limited to what they can do, and they may only be allowed to view, or in other words be a &#8220;<em>spectator</em>&#8220;.</p>
<p>With all of these privileges and limited operations, there may be <strong>users that are out to gain full privileges and access to your database</strong> whether you give it to them or not. Their main goal is to bypass all of your security measures, and for these users and security risks, you should implement a few of the tips you&#8217;ll get aquatinted with below.</p>
<h1><strong>Vital Tips for Development</strong></h1>
<p><strong>1.</strong><strong> Validation of user input necessary from the server side</strong> – Validate the user input with Javascript from the server side as well, if you have done so from the user’s perspective.</p>
<p><strong>2.</strong> <strong>Do not blindly follow User Input</strong> – Do not trust the input by the user without verifying its compatibility or correctness. Checking with the strstr() and prompting that the username is not valid to the user is a good countermeasure.</p>
<p>3. <strong>Direct implementation of user input on SQL queries to be avoided</strong> – Do not directly use the user input into SQL queries.</p>
<p>4. <strong>Up to date 3rd party code libraries</strong> – The latest version of all 3rd party code libraries should be with you to avoid jeopardizing the security of the code.</p>
<p>5. <strong>Library file extensions to be PHP</strong> – Have a PHP extension to avoid others to manipulate your passwords and other confidential information and data in the code.</p>
<p>6. <strong>PHP too, should be up to date</strong> – Keep checking the site www.php.net and keep consulting with other PHP development experts or colleagues regularly to append as well as know about fixes on security issues, regarding  MySQL development.</p>
<p>7. <strong>Be Well Read about Security concerns</strong> – Read books, consult web development experts and also read about the contemporary trends in security concerns in MySQL and PHP development round the world.</p>
<p>8.<strong> Escape the Output</strong> – Helps you avoid XSS (Cross Site Scripting) invasions on your development code.</p>
]]></content:encoded>
			<wfw:commentRss>http://grindsmart.com/2010/02/vital-mysql-development-security-tips/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Vital Tips for Working with MySQL Databases</title>
		<link>http://grindsmart.com/2009/12/vital-tips-for-working-with-mysql-databases/</link>
		<comments>http://grindsmart.com/2009/12/vital-tips-for-working-with-mysql-databases/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 09:12:06 +0000</pubDate>
		<dc:creator>GrindSmart Editorial</dc:creator>
				<category><![CDATA[Popular]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[management system]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[users]]></category>

		<guid isPermaLink="false">http://grindsmart.com/?p=107</guid>
		<description><![CDATA[
			
				
			
		
MySQL is one of the most popular relational database management systems (RDBMS) around, with over 6 million installations. It&#8217;s a fantastic choice for any new developer, because of its open source nature, wide support and abundance of tutorials available on the subject.
Here are a few Valuable Tips, Tutorials, and Applications users need to know when ]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgrindsmart.com%2F2009%2F12%2Fvital-tips-for-working-with-mysql-databases%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgrindsmart.com%2F2009%2F12%2Fvital-tips-for-working-with-mysql-databases%2F&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>MySQL</strong> is one of the most popular <strong>relational database management systems</strong> (RDBMS) around, with over 6 million installations. It&#8217;s a fantastic choice for any new developer, because of its open source nature, wide support and abundance of tutorials available on the subject.</p>
<p>Here are a few <em><strong>Valuable Tips, Tutorials, and Applications users need to know when  working with MySQL.</strong></em></p>
<h1><strong>Installing SQL</strong></h1>
<p>If you&#8217;re a newbie to the server side coding arena, don&#8217;t worry. Installing SQL is very, very simple. Ok, well if you do it the geeky way it could take you hours, but there are several scripts out there that come packaged with an SQL installer. They also typically provide a server on your local machine which is very handy.</p>
<h2><strong><a href="http://www.mamp.info">MAMP</a></strong></h2>
<p>Mac only PHP, SQL &amp; Apache Installer</p>
<p><a href="http://www.mamp.info"><img src="http://grindsmart.com/wp-content/uploads/2009/12/1.jpg" alt="" /></a></p>
<h2><strong><a href="http://www.apachefriends.org/en/xampp.html" target="_blank">XAMPP</a></strong></h2>
<p>Windows, Linux &amp; Mac installer</p>
<p><a href="http://www.apachefriends.org/en/xampp.html"><img src="http://grindsmart.com/wp-content/uploads/2009/12/2a.jpg" alt="" /></a></p>
<h2><strong><a href="http://www.wampserver.com/en/" target="_blank">WAMP</a></strong></h2>
<p>A windows only LAMP installer</p>
<p><a href="http://www.wampserver.com/en/"><img src="http://grindsmart.com/wp-content/uploads/2009/12/2.jpg" alt="" /></a></p>
<h2><strong><a href="http://dev.mysql.com/downloads/mysql/5.1.html" target="_blank">MySQL Server 5.1</a></strong></h2>
<p>If you just want MySQL server, and like using command line then this might suit you. For info on how to install and work with the MySQL server, check this <a href="http://net.tutsplus.com/tutorials/php/everything-you-need-to-get-started-with-mysql/" target="_blank"><strong>NetTuts +</strong></a> tutorial.</p>
<p><a href="http://dev.mysql.com/downloads/mysql/5.1.html"><img src="http://grindsmart.com/wp-content/uploads/2009/12/3.jpg" alt="" /></a></p>
<h1><strong>SQL Tips</strong></h1>
<p>The following tips will certainly help you in writing efficient, organized, and correct code.</p>
<h2><strong>Optimize your code</strong></h2>
<p>Imagine if you have 100 records, 10 columns.Your working with a database of your clients details, and need to select their name, phone number and address. You&#8217;d write:</p>
<p><code>SELECT * FROM clients;</code></p>
<p>What&#8217;s up with that? Nothing. You&#8217;d then simply reference the columns you want later. <strong>Wrong!</strong> That single line of code is highly inefficient. It&#8217;s fetching 1000 pieces of information from the database! However, if you wrote this:</p>
<p><code>SELECT name, phone, address FROM clients;</code></p>
<p>You&#8217;ve now cut down to only 300 calls. That&#8217;s a 700 saving. Probably not noticeable on a database that size, but you should always think about what your code is actually doing. That way, you can code efficiently in the first place, and make your app much more scalable.</p>
<blockquote><p><strong>Super Tip:</strong> In some cases, you can cut down to simply 3, by using a well thought out &#8216;WHERE&#8217; clause.</p></blockquote>
<h2><strong>Understand the Code</strong></h2>
<p>Its been said that <strong>60% of sql optimization is understanding sql</strong> and the basics of databases. Spend time learning the difference between joins and sub selects. Its important that you know what technique to use and under what circumstance, so every hour spent here will yield noticeable results.  So purchase a good book on MySQL and get learning. Knowledge is the root of power.</p>
<h2><strong>Keep Your Code Tidy and Organised</strong></h2>
<p>As with any coding you do, keep your SQL tidy and well formatted. Doing so will help you when debugging &amp; generally managing code. There are several tools available to help you do so, complete with colour coding and code formatting.</p>
<ul>
<li><a href="http://www.wangz.net/cgi-bin/pp/gsqlparser/sqlpp/sqlformat.tpl" target="_blank"><strong>Instant SQL Formatter</strong></a> is a free online service that beautifies and tidies your SQL code. It also converts SQL to html for easy posting to blog&#8217;s or web sites, and makes a great tool in any developers arsenal. <strong><a href="http://www.dpriver.com/pp/sqlformat.htm"></a></strong></li>
</ul>
<h2><strong>Add Tables and Columns Sparingly</strong></h2>
<p>One of the most effective methods for keeping your application simple, performance consist ant and code streamlined is asking yourself, &#8220;Do I really need to add this table or column?&#8221; Could the task be accomplished by using a join or simply by storing data in one row and using coding later on to separate it out. By doing so you are cutting down and bloat, and making your app as dynamic and streamlined as possible.</p>
<h2><strong>Change one thing at once</strong></h2>
<p>Like SQL, racing cars are pretty technical. They require tuning and set-up in order to work to the absolute optimum. So does SQL. But, one thing that race car engineers never, ever do is change more than 1 thing at once. If you alter one table, one field, one column the effects multiplied over 1000&#8217;s could be disastrous. Even if it doesn&#8217;t break your whole database, and just has one little quirk, changing your code to do only one new thing at once will mean you know exactly what&#8217;s breaking your code.</p>
<h2><strong>Back-up Regularly</strong></h2>
<p>Whether your on a shared host, dedicated server or running on a local dev machine, backing-up is essential. On your local machine, make sure you back-up to an external hard drive (including your databases) or even better, to an online service such as Carbonite. Then, if you have a fire or flood in your office your backed-up, and all your development projects are stored away safely.</p>
<p>On shared / dedicated servers, you can set-up CRON jobs to back-up databases regularly, meaning if the site goes down, you can simply reload the database and carry on from where you left off, give or take a days worth of data.</p>
<p>Finally, when working on dev projects, before altering databases, its a great idea to back-up. That way, if your alteration breaks the whole database, you can simply replace the corrupt one with a back-up and try again. Combined with one alteration at once, and you have a solid SQL programming plat from to work from.</p>
<h2><strong>Caching</strong></h2>
<p>If your database is going to be read more than written to, consider using a cache. Doing so cuts down on calls to the server, and thus reduces load on the server.</p>
<p>The MySQL site has a great tutorial on using Query Cache, which essentially saves a SELECT command in the cache, then if its called again, the cache can serve the results rather than call the database again.</p>
<p><a href="http://dev.mysql.com/doc/refman/5.0/en/query-cache.html" target="_blank"><strong>7.5.5. The MySQL Query Cache</strong></a></p>
<h2><strong>Use a Cheatsheet / Reference</strong></h2>
<p><strong>Cheatsheet&#8217;s</strong> always seem to have a stigma attached to them. Probably because of the name, and their usage in exams. But, cheatsheet and references will help you no end in your general day to day working with SQL. Who wants to become an SQL walking encyclopedia? Remember all the stuff you really need, and the more obscure / less used functions are always only a few clicks away:</p>
<p>The MySQL official reference is essentially the SQL bible. Loads of great tips and advice, plus help in case you need a refresher on what an Identifier Qualifier is. They also have past versions of SQL documented, plus SQL 5.0, 5.1 and 5.4.</p>
<p><a href="http://dev.mysql.com/doc/refman/5.0/en/" target="_blank"><strong>MySQL 5.0 Reference Manual</strong></a></p>
<p><a href="http://www.addedbytes.com/cheat-sheets/mysql-cheat-sheet/"><strong>MySQL Cheat Sheet</strong></a></p>
<h2><strong>Never Stop Learning</strong></h2>
<p>Just because you buy several books on MySQL doesn&#8217;t mean you&#8217;ll be Mr RDBSMS Rockstar straightaway. You need to practice what you&#8217;ve learned in real world situations, and always, always top up your knowledge by going back and re-learning what you&#8217;ve learned or checking out new tutorials on the matter. Here&#8217;s a refresher on <a href="http://net.tutsplus.com/tutorials/other/10-essential-sql-tips-for-developers/" target="_blank"><strong>Net.Tuts +</strong></a>.</p>
<h1><strong>MySQL GUI&#8217;s</strong></h1>
<p>A GUI (Graphic User Interface simplifies working with MySQL. Instead of working purely on the command line, you get a friendly interface that formats date, gives you a code editor and generally improves the whole experience of working with raw code. Think user friendly and time saving.</p>
<p>Here&#8217;s a few of the better ones on the market, both <em><strong>free</strong></em> and <em><strong>paid</strong></em>.</p>
<h2><a href="http://www.razorsql.com/"><strong>RazorSQL</strong></a></h2>
<p>RazorSQL is an SQL query tool, database browser, SQL editor, and database administration tool for Windows, Mac OS X, Linux, and Solaris. RazorSQL has been tested on over 29 databases, can connect to databases via either JDBC or ODBC. Its available for $59.95.</p>
<p><a href="http://www.razorsql.com/"><img src="http://grindsmart.com/wp-content/uploads/2009/12/4.jpg" alt="" /></a></p>
<h2><a href="http://www.araelium.com/querious/"><strong>Querious</strong></a></h2>
<p>Viewing, searching, editing, importing, exporting, and structuring your data has never been so easy. With Querious, you can even open up raw CSV or Tab files in a spreadsheet-like document. Need to rename or reorder the columns? No problem. Searching for data is a breeze, and you can even convert the whole file to another format in a snap. It costs $25.</p>
<p><a href="http://www.araelium.com/querious/"><img src="http://grindsmart.com/wp-content/uploads/2009/12/5.jpg" alt="" /></a></p>
<h2><a href="http://www.malcolmhardie.com/sqleditor/index.html" target="_blank"><strong>SQLEditor</strong></a></h2>
<p>A Database design and entity relationship diagram (ERD) tool for Mac OS X.</p>
<p>SQLEditor replaces typing SQL by hand with dragging, dropping and clicking. It makes creating databases much faster and really reduces errors.If you already have a database then SQLEditor can help you see what it looks like by creating a diagram of it. SQLEditor works on Mac, and supports Snow Leopard.</p>
<p><a href="http://www.malcolmhardie.com/sqleditor/index.html"><img src="http://grindsmart.com/wp-content/uploads/2009/12/6.jpg" alt="" /></a></p>
<h2><a href="http://www.sqlgrinder.com/"><strong>SQLGrinder2</strong></a></h2>
<p>SQLGrinder™ is an SQL editor and developer tool that gives you the tools needed to make your database development easy. Using SQLGrinder you can create, edit and execute SQL statements. You can browse your database schema. SQL Grinder costs $59 and works on OSX.</p>
<p><a href="http://www.sqlgrinder.com/"><img src="http://grindsmart.com/wp-content/uploads/2009/12/7.jpg" alt="" /></a></p>
<h2><a href="http://www.sequelpro.com" target="_blank"><strong>SequelPro</strong></a></h2>
<p>Sequel Pro is a fast, easy-to-use Mac database management application for working with MySQL databases. Sequel Pro is free, open source and well worth a look at.</p>
<p><a href="http://www.sequelpro.com/"><img src="http://grindsmart.com/wp-content/uploads/2009/12/8.jpg" alt="" /></a></p>
<h1><strong>MySQL GUi Tools</strong></h1>
<p><a href="http://dev.mysql.com/downloads/gui-tools/5.0.html/"><img src="http://grindsmart.com/wp-content/uploads/2009/12/9.jpg" alt="" /></a></p>
<p>The MySQL GUI Tools Bundle for 5.0 includes the following products which are also supported for MySQL 5.1, and offered by the official MySQL site.</p>
<ul>
<li>MySQL Administrator 1.2</li>
<li>MySQL Query Browser 1.2</li>
<li>MySQL Migration Toolkit 1.1</li>
</ul>
<p><a href="http://dev.mysql.com/downloads/gui-tools/5.0.html" target="_blank"><strong>MySQL GUI Tools</strong></a></p>
<p>Enjoy being a <strong>MySQL Rockstar</strong>, with heightened coding abilities! Why not share your favorite MySQL coding tip or GU editor with our readers. <strong><em>What&#8217;s the most useful hack you&#8217;ve learned?</em></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://grindsmart.com/2009/12/vital-tips-for-working-with-mysql-databases/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced) (user agent is rejected)
Database Caching 7/15 queries in 0.035 seconds using disk

Served from: grindsmart.com @ 2010-09-08 15:56:34 -->