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
Last edited by guelphdad; 08-20-2006 at 12:36 AM..
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.
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.
An extensive tutorial 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.
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.
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...
Why does this query run in mysql 4 but break in mysql 5?
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
Code:
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:
Code:
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:
Code:
SELECT
foo,
bar,
qux
FROM tablea
INNER JOIN tableb
ON tablea.differentcolumn=tableb.moescolumn
LEFT OUTER JOIN tablec
ON tablea.somecolumn=tablec.somecolumn
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...
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)
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