With well over ten million installations, MySQL is probably the most popular database management system for web servers. Developed in the mid 1990s, it’s now a mature technology that powers many of today’s most-visited Internet destinations.
One reason for its success must be the fact that, like PHP, it’s free to use. But it’s also extremely powerful and exceptionally fast—it can run on even the most basic of hardware, and it hardly puts a dent in system resources.
MySQL is also highly scalable, which means that it can grow with your website. In fact, in a comparison of several databases by eWEEK, MySQL and Oracle tied for both best performance and for greatest scalability.
A database is a structured collection of records or data stored in a computer system and organized in such a way that it can be quickly searched and information can be rapidly retrieved.
The SQL in MySQL stands for Structured Query Language. This language is loosely based on English and is also used on other databases such as Oracle and Microsoft SQL Server. It is designed to allow simple requests from a database via commands such as:
SELECT title FROM publications WHERE author = 'Charles Dickens';
A MySQL database contains one or more tables, each of which contain records or rows. Within these rows are various columns or fields that contain the data itself. Following Table shows the contents of an example database of five publications detailing the author, title, type, and year of publication.
|Charles||animal and nature||wild life||1863|
Each row in the table is the same as a row in a MySQL table, and each element within a row is the same as a MySQL field. To uniquely identify this database, I’ll refer to it as the publications database in the examples that follow. And, as you will have observed, all these publications are considered to be classics of literature, so I’ll call the table within the database that holds the details classics.
Summary of Database Terms
The main terms you need to acquaint yourself with for now are:
|Database||The overall container for a collection of MySQL data.|
|Table||A subcontainer within a database that stores the actual data.|
|Row||A single record within a table, which may contain several fields.|
|Column||The name of a field within a row.|
I should note that I’m not trying to reproduce the precise terminology used in academic literature about relational databases, but just to provide simple, everyday terms to help you quickly grasp basic concepts and get started with a database.