PDA

View Full Version : MySQL resources


guelphdad
07-16-2006, 06:25 PM
While the MySQL documentation is quite extensive it may not explain things in a way that is completely comfortable for all users of this forum. Perhaps too the examples aren't exactly answering our questions.

If you have a resource you'd like to point people to, be it a tutorial, a piece of software (GUIs for instance), a good book to recommend, etc. post it in this thread.

Note that from time-to-time, I will pop in and clean the thread or merge some answers so that all the information is easy to find.

Please don't post in the thread in reply unless you are adding another resource.

If you come across a link that is out-dated please PM me with a new link if you have one or for me to remove the old link. That way everything in the thread can be current.

Please note, don't merely link to someone's list of resources, but point to items you use or have found useful.

Thanks,
Dave

guelphdad
07-16-2006, 06:38 PM
The MySQL site:
MySQL Developer Zone (http://dev.mysql.com/)

Database Normalization:

One of the most important things of database development is understanding the concepts behind Database Normalization. This means setting up the proper structure of your tables and how they will work together to make your data retrieval as seemless as possible while minimizing data resources necessary to perform the output.

An intro to database normalization (http://dev.mysql.com/tech-resources/articles/intro-to-normalization.html)

Hierarchical Data:

Managing hierarchical data can be tricky, but once you get an understanding of how to approach it, you will find this an important tool in your database development.

Managing hierarchical data (http://dev.mysql.com/tech-resources/articles/hierarchical-data.html)
Categories and Subcategories (http://sqllessons.com/categories.html) a useful article written on the Adjacency List model.
Joe Celko's Trees and Hierarchies in SQL for Smarties (http://www.amazon.ca/exec/obidos/ASIN/1558609202/qid=1153067684/sr=1-1/ref=sr_1_2_1/701-3528506-1437957) (I've found this to be a pretty involved book.)

GUIs:

Heidi SQL (http://www.heidisql.com/)
Navicat (http://www.navicat.com/)
MySQL Administrator (http://dev.mysql.com/downloads/administrator/1.1.html)
MySQL Query Browser (http://dev.mysql.com/downloads/query-browser/1.1.html)
phpMyAdmin (http://www.phpmyadmin.net/home_page/index.php/) if you are using PHP as well


Database Modelling:

Data Models (http://www.databaseanswers.org/data_models/index.htm) (note, there are no comments on the designs, just the layouts)

SQL injection attacks:

result from unsanitized user input. The article below details one example of how this could be used to gain access to your data by outside users.

SQL injections (http://www.unixwiz.net/techtips/sql-injection.html)

PHP and MySQL

An extensive tutorial (http://www.hudzilla.org/phpbook/read.php/9_0_0) I found this tutorial to be pretty extensive and quite helpful.

http://www.apachefriends.org/en/xampp.html (a quick and seemless way to integrate PHP, MySQL, Apache, PERL, PHPMYADMIN on Windows, Solaris, Linux, Mac OS). Note you won't learn how to tune your applications here, but if you are looking to get them set up quickly and jump right in, I personally have found this to be a good set-up on WinXP. Caveat, the discussion boards on the site are in German.

SQL formatters:

These allow you to dump in the code you are using for a query and print it out in a much neater form.

SQLinForm (http://www.sqlinform.com/)
Instant SQL Formatter (http://www.wangz.net/cgi-bin/pp/gsqlparser/sqlpp/sqlformat.tpl)

guelphdad
12-24-2006, 05:51 PM
An advanced SQL book I've seen recently, if you are looking for more than the basics I have to say you should pick this up.

SQL Hacks (Tips & Tools for Digging into Your Data), it is an O'Reilly book by Andrew Cumming & Gordon Russell.

It has 100 tips and covers necessary code tweaks for Oracle, Postgres, MySQL, SQL Server, Access and DB2.

One of the best books I've seen on the subject.

Proid
01-10-2007, 02:15 PM
:cool: hi, guelphdad.
Here's a link to developer site than engaged in developing database administration and management tools for different SQL Server such as MySQL, Oracle, PostgreSQL, SQLite, Firebird and MaxDB.

SQL Maestro Group (http://www.sqlmaestro.com/)

All programs has graphical user interface and understandable in use.

In my opinion, quite good programs :thumbsup:.
At present time i use following tools:
MySQL Maestro (http://www.sqlmaestro.com/products/mysql/maestro/) and Firebird Maestro (http://www.sqlmaestro.com/products/firebird/maestro/).

But it's my opinion:)

Stephen999
02-21-2007, 12:06 PM
1. Web Hacking from the Inside Out
2. Hackish PHP Pranks & Tricks

http://www.amazon.com/s/ref=nb_ss_gw/103-0228822-5891066?url=search-alias%3Daps&field-keywords=flenov

neillglobal
03-02-2007, 07:38 AM
Hey,

I know I'm just new here but I reckon a sticky post about the appropriate field types for various uses would be brilliant!!! I haven't found anything on the net yet that both describes the types AND gives advice about what use the type would be ideal for. The below table is what I use as a reference now (can't remember what site I got it off but I certainly didn't make the data myself) but I still don't think I'm using the right field types and attributes for say my table_ID fields, password fields, large blocks of text, html content etc...

http://www.camtutor.net/dev/fieldtypes.jpg

guelphdad
06-26-2007, 07:56 PM
There is a lot of confusion on using the GROUP BY clause and specifically when it is and isn't okay to leave columns out of the GROUP BY clause.

A little heavy lifting here but this article (http://rpbouman.blogspot.com/2007/05/debunking-group-by-myths.html) is quite good for those looking to find out more information.

Unfortunately I see GROUP BY used incorrectly in a lot of forums.

guelphdad
08-04-2007, 04:40 AM
The difference is a change in syntax after mysql 5 was implemented.

This will run in mysql 4 but give an error in mysql 5


SELECT
foo,
bar,
qux
FROM tablea, tableb
LEFT OUTER JOIN tablec
ON tablea.somecolumn=tablec.somecolumn
AND tablea.differentcolumn=tableb.moescolumn


what mysql did before was look at the columns and try to figure out what you are trying to do. now the syntax conforms more closely to the sql standard.

in the case above, at the point the left outer join and table c are mentioned, only tables B and C are in scope, thus you can't join on column a at that time.

you would have to rewrite the query as:




SELECT
foo,
bar,
qux
FROM tablea, tableb
WHERE tablea.differentcolumn=tableb.moescolumn
LEFT OUTER JOIN tablec
ON tablea.somecolumn=tablec.somecolumn



but of course the BEST syntax is to eliminate the comma entirely as so:




SELECT
foo,
bar,
qux
FROM tablea
INNER JOIN tableb
ON tablea.differentcolumn=tableb.moescolumn
LEFT OUTER JOIN tablec
ON tablea.somecolumn=tablec.somecolumn

BargainPredator
11-07-2008, 06:22 AM
A MySQL GUI for Mac OS X that I've been using for yeards

Used to be named CocoaMySQL recently changed to Sequel Pro

Sequel Pro is only running on mac OS 10.5, but you can still find CocoaMySQL on the site if you run 10.4 and 10.3

http://code.google.com/p/sequel-pro/

jandy154
08-06-2009, 07:23 AM
I know I'm just new here but I reckon a sticky post about the appropriate field types for various uses would be brilliant!!! I haven't found anything on the net yet that both describes the types AND gives advice about what use the type would be ideal for. The below table is what I use as a reference now (can't remember what site I got it off but I certainly didn't make the data myself) but I still don't think I'm using the right field types and attributes for say my table_ID fields, password fields, large blocks of text, html content etc...