Databases Reference
In-Depth Information
to learn the other, although we believe that you'll benefit from learning both languages.
In fact, almost any modern language can be used to perform this task; most of them
have the necessary interfaces to both web servers and database engines.
Structured Query Language
IBM is to be credited not only with inventing the relational database, but developing
the language still used today to interact with such databases. SQL is a little odd, bearing
the stylistic marks of its time and its developers. It's also gotten rather bloated over the
years—a process made worse by its being standardized (multiple times)—but in this
topic we'll show you the essentials you really need and help you become fluent in them.
SQL shows many of the problems that are commonly attributed to computing stand-
ards: it tries to accomplish too much, it forces new features into old molds to maintain
backward compatibility, and it reflects uneasy compromises and trade-offs among
powerful vendors. As a result, there are several standards that database management
systems can adhere to. SQL-92 dates back to 1992 and provides just about everything
that you will need for beginning work. However, it lacks features demanded by some
modern applications. SQL:1999 was standardized in 1999 and adds a huge number of
new features, many of them considered overkill by some experts. There is also a more
recent standard, SQL:2003, that was published in 2003 and adds support for XML data.
Each development team has to decide on the trade-offs between the features requested
by users and the need to keep software fast and robust, and so database engines gen-
erally don't conform totally to any one standard. Furthermore, historical differences
have stayed around in legacy database engines. That means that even if you use fairly
simple, vanilla SQL, you may have to spend time when porting your skills and your
code to another database engine.
In this topic, we'll show you how to use MySQL's flavor of SQL to create databases
and store and modify data. We'll also show you how to use this SQL variant to ad-
minister the MySQL server and its users.
MySQL Software Covered in This Topic
You can be very productive with MySQL without dedicating a lot of time to configu-
ration and administration. In Chapter 2, we'll look at several common ways of setting
up the software you'll need for this topic. While you can skip most of the instructions
if you already have a working MySQL installation, we recommend you at least skim
through the material for your operating system; we'll frequently refer to parts of this
chapter later on. As part of this chapter, we explain how you can configure your MySQL
server for good security.
MySQL provides many other tools for administration, including compile-time options,
a large configuration file, and standalone utilities developed by both MySQL AB and
 
Search WWH ::




Custom Search