Main Content

How do I query a database (MySQL)?

Archive - Originally posted on "The Horse's Mouth" - 2009-06-15 12:28:39 - Graham Ellis

From my mailbox ... "What are the different ways of queries in databases? Could u pls explain each way in more detail? thanks"

The term "query" means something a little bit different in the term "SQL" to it does in regular English usage - the dictionary definition is to ask for information / pose a question, but as a part of SQL ("structured query language"), it means and request of a database and that can include:
• Setting up and modifying table structures
• Inserting and modifying data held in tables
• retrieving information about the structure of tables and how the database is running
• retrieving information from the tables of a database - the actual data.
Only the last of those is a "query" in terms of normal English usage.

All SQL database queries [exception - Microsoft Access] are made via a service or daemon - a process running on a server computer. That process is designed to provide the one and only route to the data, so that multiple concurrent users will be able to work together on the same information with no risk of one adversely effecting the other through lack of syncronisation. And the requests passed to that service (Microsoft word) or daemon (unix / Linux word) will be in "SQL".

SQL queries all start with a keyword such as CREATE (to create a table), INSERT (to insert data) or SELECT (to retrieve the actual information held). And they are the ONLY way to access the database. However, they are not very easy (they are not designed to be easy!) for the human user - they are much more easily formed within another program, with the human user calling that other program as his / her interface to the data. For example, if you were to book a hotel room or training course with us, a number of database 'queries' would be run - SELECTs mostly with a few INSERTs - in the process, which would be completely hidden from you. Indeed, you've probably done some SELECTs without realising it to read our web site already, as almost every page has some database access.

I can explain SQL, and SELECTs, in much more detail - but there are whole books on the subject - it's massive. So that explanation would usually be a part of one of our courses, in which we would cover some elements of database design, as well as how to access the data. Such a course would be useful if you'll be accessing the data directly in your own programs (in languages such as Perl, PHP, or Python), but it's really not necessary for you to learn SQL just to use a web site that makes use of it internally. If everyone who stayed at our hotel was required to know SQL before they booked, it would be a strange world.

Some further links for you:
  http://www.wellho.net/course/mqfull.html
(next course is on 13th and 14th August and we currently have places available)
  http://www.wellho.net/solutions/mysql-mysql-select-join...group-etc.html
(that's an example of a SELECT showing each of the elements in the command)
  http://www.wellho.net/mouth/515_MySQL-an-FAQ.html
(A link to our MySQL FAQ - many common questions answered)