Table of Contents
On the MySQL documentation web page (http://dev.mysql.com/doc/) you'll find the various versions of the MySQL Reference manual. At the time of writing there are four different versions, each one running to about 2,000 pages in PDF format. These manuals are meant to be the definitive reference books for each specific server version; they should provide the answer to any question you have about any version of MySQL.
The manuals are an excellent resource but they can be very intimidating for users who are new to MySQL, especially for those who have no previous experience with a Relational Database Management System (RDMS). Even for users familiar with other RDMSs, the wealth of information contained in the manuals makes it easy to lose sight of the forest for the trees. For this reason the focus of the MySQL User Guide is strictly circumscribed; as far as possible, this book aims to be OS-neutral and MySQL version-specific.
This book deals with MySQL version 5.0 [5.1 if it is GA] only. Concentrating on one server version makes for greater simplicity and using version 5.0 means we can take advantage of the improved feature set of the newest production version.
MySQL's popularity is partly due to the fact that it is supported
on numerous operating systems (OSs). However, this also adds a
level of complexity to the manual — exactly the kind of
thing we aim to reduce. For this reason, as far as is possible,
this book ignores any OS-specific features of MySQL. For instance,
mysqlhotcopy is a very useful utility but it is
not supported under Windows or Mac OS X so will not be discussed
here. Concentrating on features common to all OSs removes one of
the distractions inherent in reading the MySQL manual.
In no way is this book meant to be a definitive treatment of MySQL but therein lies its strength. It should speed up the process of getting you up and running with MySQL. For those questions it doesn't answer, see the manual.
MySQL is a flexible RDMS useful in many circumstances. At one end of the spectrum it is suitable for enterprise applications and at the other it can also be used for simple desktop applications. Regardless of how you plan to use MySQL, the MySQL User Guide should prove to be a good introduction to MySQL.
When describing the nature of the MySQL User Guide in Section 1.1, “This is Not the MySQL Reference Manual” we hinted at the kinds of readers that this book should appeal to; users new to databases in general and users new to MySQL in particular.
It is also probably a fair assumption that many of our readers,
regardless of the OS they are using, will be more familiar working
within a GUI environment than from the command line. There's no
getting around the fact that being capable from the command line
is an advantage when using MySQL. The primary tool for interacting
with a MySQL server, mysql, is command-line
based.
Mastering MySQL from the command line will allow you to operate in
environments where there is no GUI, the majority of web servers
for example. Besides, some command-line tools are unquestionably
superior. There's no quicker way of creating a database than
issuing the command, mysqladmin create
.
db_name
However, whenever possible we'll make use of MySQL Administrator and MySQL Query Browser, open source MySQL GUI Tools. Creating database objects is made especially easy using the Table Editor, a feature of the Query Browser also common to other GUI Tools. By pointing and clicking you can quickly build a table without knowing anything about data definition language (DDL). Not only will the table editor help you work more quickly, but it's a good way to learn MySQL's implementation of SQL. Any alterations made to a table using the graphical interface are shown as SQL statements, making it easy to learn the appropriate SQL command.
The idea for a MySQL User Guide came about as a response to the expressed needs of MySQL users and especially community comments about the manuals. This is your chance to help create an important piece of MySQL documentation — The MySQL User Guide.
If your submission is accepted you will receive credit for your contribution or you may remain anonymous if you prefer. For an example attribution see attribution. An attribution would normally include your name, a short biography, your email address, and perhaps a link to your website. Since the MySQL User Guide is published under the GFDL, you may of course publish it elsewhere in any way you choose, in accordance with the GFDL of course.
If you do plan to contribute to the MySQL User Guide, pay special attention to the following sections:
Familiarity with these sections is essential to determining an appropriate topic at an appropriate level of complexity.
The MySQL User Guide is licensed under the GNU Free Documentation
License (GFDL). For a copy of this license see
Appendix D, GNU Free Documentation License. Email <docs@mysql.com>
specifying “MySQL User Guide Contribution” as the
subject line. This email should contain a short biography and
briefly describe what you wish to write about.
To avoid disappointment, please do not write contributions before checking with the MySQL documentation team; the TOC is subject to change and someone may already be working on your chosen topic.
While we welcome any submissions, we reserve the right to accept or reject submissions as we see fit.
The table of contents (TOC) can serve as a guide to the topics we would like to see covered in the MySQL User Guide. Parts I through III deal with introductory topics and later sections deal with more advanced topics. Chapters or sections should integrate closely with related subjects. Some sections will be shorter or longer depending upon the nature of the topic.
We've tried to structure the MySQL User Guide in a format that will encourage a variety of submissions of different lengths at differing levels of difficulty. Some sections have already been completed by MySQL staff and can serve as examples of the kinds of submissions we are seeking. For example, Section 24.2, “Using mysqldump” could serve as a template for a section on mysqlimport and Chapter 30, Migrating a Spreadsheet to MySQL could serve as a guide to Chapter 31, Migrating an Access Database to MySQL.
Depending upon your time and expertise you may wish to submit a short, narrowly focused section on a specific introductory topic or a complete chapter on something more advanced.
The TOC is meant as a guideline for possible submissions but you needn't feel constrained by the chapters or sections listed there. If you feel that a topic warrants inclusion but is not included in the TOC, please let us know.
The MySQL documentation team uses DocBook, an XML markup language particularly suited to software documentation. Like HTML, it is a derivative of Standard Generalized Markup Language (SGML). If you are familiar with HTML, especially XHTML then the DocBook format will immediately seem familiar. To find out more see DocBook.
The MySQL documentation team uses DocBook because it can be transformed into a variety of different output formats using XSL style sheets. One source document can be used to generate HTML, PDF, or CHM output for example, thereby eliminating the need to maintain documentation in a variety of output formats. A secondary reason for using DocBook is its structured approach to documentation. Like any well formed XML document, DocBook imposes a structure; subsections must appear within sections and sections within chapters and so on. Because DocBook is XML it can be written using any text editor though you may prefer using an XML-specific editor.
Complete documentation of the tags and attributes used by Docbook is available online at DocBook: The Definitive Guide. The MySQL documentation team doesn't use all the tags supported by DocBook. The subset of DocBook tags used by MySQL is found here. The MySQL documentation team has also prepared DocBook templates to help you get started. You'll find them <xref -here>.
We would prefer to receive contributions in DocBook format but
understand that this is not always possible. If you wish to make
a contribution in a format other than DocBook please contact the
documentation team at <docs@mysql.com>.
As far as writing styles and conventions are concerned please see http://dev.mysql.com/doc/mysqldoc-guide/en/sg.html.
This publication is licenced under the GNU Free Documentation License (GFDL). Any submissions are subject to the conditions outlined in this licence. A copy is included in Appendix D, GNU Free Documentation License.
You can find a link to the source tree for all the documentation at http://dev.mysql.com/tech-resources/sources.html. This page also includes general instructions for checking out copies of the documentation. Using Subversion you can download the MySQL User Guide from http://svn.mysql.com/svnpublic/mysqldoc/userguide. You can also browse online at this URL. If you are unfamiliar with DocBook format, use existing chapters or sections as templates for your submissions. For an example of a complete chapter that uses most, if not all of the DocBook XML tags you'll need, see http://svn.mysql.com/svnpublic/mysqldoc/userguide/excel-mysql.xml. Subversion is open-source, version control software available for Windows, Mac OS X, or various flavors of Linux and Unix. Find out more about it at http://subversion.tigris.org/.