
Having seen the overall layout of phpMyAdmin's panel, we are ready to create a database, create our first table, insert some data into it, and browse it. These first steps are intentionally simple, but they will give you the foundation on which more complex operations will be achieved later. At the end of the chapter, we will have at our disposition the two basic tables on which the remaining exercises are based.
Before creating a table, we must ensure that we have a database for which the MySQL server's administrator has given us the CREATE
privilege. Various possibilities exist:
- The administrator has already created a database for us, and we see its name in the navigation panel; we don't have the right to create an additional database
- We have the right to create databases from phpMyAdmin
- We are on a shared host, and the host provider has installed a general Web interface (for example, cPanel) to create MySQL databases and accounts; in this case, we should visit this web interface now and ensure that we have created at least one database and one MySQL account.
Note that a configuration parameter, $cfg['ShowCreateDb']
, controls the display of the Create new database dialog. By default, it's set to true
, which shows the dialog.
If you do not have the required privileges to create a database, the home page displays a No privileges message under the Create new database label. This means that you must work with the databases that have been already created for you, or ask the MySQL server's administrator to give you the necessary CREATE
privilege.
Note
If you are the MySQL server's administrator, refer to Chapter 19,Administrating the MySQL Server with phpMyAdmin.
If phpMyAdmin detects that we have the right to create a database, the home page appears as shown in the following figure:

In the input field, a suggested database name appears if the $cfg['SuggestDBName']
parameter is set to TRUE
—which is the default setting. The suggested database name is built according to the privileges we possess.
If we are restricted to the use of a prefix, the prefix might be suggested in the input field. (A popular choice for this prefix is the username, which may or may not be followed by an underscore character.) Note that, in this case, the prefix is followed by an ellipsis mark, added by phpMyAdmin. We should remove this ellipsis mark and complete the input field with an appropriate name.

The Collation choice can be left unchanged for now. With this dialog, we could pick a default character set and collation for this database. This setting can be changed later (see Chapter 9, Performing Table and Database Operations, for more information on this).
We will assume here that we have the right to create a database named marc_book. We enter marc_book in the input field and click on Create. Once the database has been created, we will see the following screen:

Notice the following:
- The title of the main panel has changed to reflect the fact that we are now located in this database.
- A confirmation message regarding the creation is displayed.
- The navigation panel has been updated; we see marc_book (0). Here, the name indicates that the marc_book database has been created, and the number 0 indicates that it contains no tables.
- By default, the SQL query sent to the server by phpMyAdmin to create the database is displayed in color.
As the generated queries can be large and take much of the on-screen room, the $cfg['MaxCharactersInDisplayedSQL']
acts as a limit. Its default value of 1000
should be a good balance between seeing too few and seeing too many of the queries, especially when performing large imports.
It's important to examine the phpMyAdmin feedback to ascertain the validity of the operations that we make through the interface. In this way, we can detect errors such as typos in the names, or the creation of a table in the wrong database. phpMyAdmin retrieves error messages from the MySQL server and displays them in the interface.