...

View Full Version : MySQL resources



guelphdad
07-16-2006, 05: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, 05: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, 04: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, 01: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, 11:06 AM
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, 06: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, 06: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, 03: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, 05: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, 06: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...

rebena
06-09-2011, 07:59 AM
One means of limiting use of MySQL server resources is to set the global max_user_connections system variable to a nonzero value. This limits the number of simultaneous connections that can be made by any given account, but places no limits on what a client can do once connected. In addition, setting max_user_connections does not enable management of individual accounts. Both types of control are of interest to many MySQL administrators, particularly those working for Internet Service Providers.

In MySQL 5.0, you can limit use of the following server resources for individual accounts:

The number of queries that an account can issue per hour
The number of updates that an account can issue per hour
The number of times an account can connect to the server per hour
The number of simultaneous connections to the server by an account (available as of MySQL 5.0.3)

wlf
05-18-2013, 06:44 PM
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)


Here is a good one too from wikipedia that shows how nasty SQL injections can be with complete examples.
It also explains how to protect your database against such things

http://en.wikipedia.org/wiki/SQL_injection

I find programming articles on wikipedia good enough however a mysql book is of course preferable.

Dave Jordan
11-05-2013, 04:37 PM
Recently dbForge Studio for MySQL has releazed and I really liked the updated version. Their mysql admin tool ( http://www.devart.com/dbforge/mysql/studio/database-administration.html ) really simplified for me the process of mysql administration. You can try their free trial for 30-days andmake the decision!

XmisterIS
11-27-2013, 05:11 PM
If you are a visual thinker (like me) and MySQL joins confuse the hell out of you (like me), then this link will make your life a lot easier!

http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins

And here's the cheat sheet. I have this printed out and pinned up beside my monitor!

http://www.codeproject.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_V2.png



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum