1.1 Introduction
The MySQL database system uses a client-server architecture that
centers around the server,
mysqld.
The server is the
program that actually manipulates databases. Client programs
don't do that directly; rather, they communicate
your intent to the server by means of queries written in Structured
Query Language (SQL). The client program or programs are installed
locally on the machine from which you wish to access MySQL, but the
server can be installed anywhere, as long as clients can connect to
it. MySQL is an inherently networked database system, so clients can
communicate with a server that is running locally on your machine or
one that is running somewhere else, perhaps on a machine on the other
side of the planet. Clients can be written for many different
purposes, but each interacts with the server by connecting to it,
sending SQL queries to it to have database operations performed, and
receiving the query results from it.
One such client
is the mysql program that is included in MySQL
distributions. When used interactively, mysql
prompts for a query, sends it to the MySQL server for execution, and
displays the results. This capability makes mysql
useful in its own right, but it's also a valuable
tool to help you with your MySQL programming activities.
It's often convenient to be able to quickly review
the structure of a table that you're accessing from
within a script, to try a query before using it in a program to make
sure it produces the right kind of output, and so forth.
mysql is just right for these jobs.
mysql also can be used non-interactively, for
example, to read queries from a file or from other programs. This
allows you to use it from within scripts or cron
jobs or in conjunction with other applications.
This chapter describes mysql's
capabilities so that you can use it more effectively. Of course, to
try out for yourself the recipes and examples shown in this book,
you'll need a MySQL user account and a database to
work with. The first two sections of the chapter describe how to use
mysql to set these up. For demonstration purposes,
the examples assume that you'll use MySQL as
follows:
The MySQL server is running on the local host.
Your MySQL username and password are cbuser and
cbpass.
Your database is named cookbook.
For your own experimentation, you can violate any of these
assumptions. Your server need not be running locally, and you need
not use the username, password, or database name that are used in
this book. Naturally, if you don't use MySQL in the
manner just described, you'll need to change the
examples to use values that are appropriate for your system. Even if
you do use different names, I recommend that you at least create a
database specifically for trying the recipes shown here, rather than
one you're using currently for other purposes.
Otherwise, the names of your existing tables may conflict with those
used in the examples, and you'll have to make
modifications to the examples that are unnecessary when you use a
separate database.
|