What began as a simple blogging platform almost a decade ago has ultimately become one of the most used and popular CMS choices for novices and experts alike. There are many high-end websites built on this unique platform with the capabilities to incorporate any functional possibilities you can think of.
The major advantage of WordPress for the users is that the installation, configuration, and database creation on WordPress do not require any particular knowledge of coding or the underlying structure. However, sometimes you may find the need for some basic understanding of the database while you are dealing with the need to make it optimized for your purpose.
WordPress Database
When it comes to constructing a database, phpMyAdmin is the first choice of many DBAs. However, we will focus more on the SQL queries here by considering the fact that everyone may not be fond of phpMyAdmin. In fact, even when using phpMyAdmin, you have the option of running the SQL queries also.
You may already know that WordPress primarily uses MySQL database. So, to log on to MySQL at the first point, you can run the following command in the terminal:
After logging into the WordPress MySQL database, you can next check the tables, which WordPress creates by using the following commands.
To check the table structure, run the command;
desc [table_name];
Further, in this post, we will see how WordPress creates the tables on a typical fresh installation. New tables get created upon installing every new plugin.
Another important thing to note before getting further is that the table prefix used here is “wp,” which stands for WordPress. While following the suite, make sure that you replace it with WP if you used a different prefix for your tables.
Let’s try to have an overview of the tables in a logical sequence than considering them in alphabetical order.
- wp_options
This table stores all your WordPress settings as:
- Title
- Tagline
- Timezone
All options a DBA sets in the dashboard get stored into this particular table.
- wp_users
As we can infer from its name, ‘wp_users’ stores all registered users on your site. It consists of all the essential demographics of the users such as:
- Log-in ID
- Encrypted password
- E-mail ID
- Contact numbers
- Registration date and time
- Display name
- Status
- Activation key
- wp_usermeta
wp_usermeta is used to store metadata (simply data about the data) of all the users. For example, the ‘last_name’ of a particular user gets saved in the ‘wp_usermeta’ table instead of being saved to the ‘wp_users’ table.
There are two distinct fields in the table which you must know about as:
- ‘meta_key.’
- ‘meta_value.’
- wp_posts
It is to store all the posts on your WordPress website and the data related to it. All posts and pages and revisions are made available in ‘wp_posts’ table. It is also used to store the navigation menu. Various entries such as pages, posts, menu items, and revisions are segregated by the ‘post_type’ column in this particular table.
- wp_postmeta
‘wp_postmeta’ is simply like using the metadata table itself, which contains the data of all posts. Database consulting services mostly make use of an SEO plugin, in which all the meta tag data generated from the posts get stored in this table.
- wp_terms
Tags and categories for the posts, links, and pages are stored in the table named wp_terms. The column which contains this particular table is called a ‘slug,’ which is primarily a string that identifies the terms used in the URL of the website for the duration. It ultimately helps boost the SEO impact as the Google crawlers search for the URL search terms for optimization purpose.
- wp_term_relationships
wp_term_relationship helps to link the wp_terms to specific objects such as relevant pages, links, or posts. It serves as a relationship map between these objects and terms.
- wp_term_taxonomy
Taxonomy helps to describe all the terms in detail. As we discussed above, it is the metadata (data about the data) of terms. It adds more simplicity as just a plugin cannot add the needed custom values to the table.
- wp_comments
wp_comments help to store the comments on your posts and pages of the WordPress website. The table also contains unapproved comments and specific information about the users who put in the comments and also a customized nesting of all comments. However, one important thing to note here is that if you use any third-party commenting mechanism like Disqus, the comments will not be stored in the WordPress database, but will be saved in the corresponding servers of that particular application.
- wp_commentmeta
Just like all other metadata tables, wp_commentmeta consists of metadata about the comments.
- wp_links
It is a table which consists of all information about the custom links, which are added to your WordPress site. The Links Manager plugin can be used to enable the deprecated links.
A Few Quick Tricks
Now, by knowing the above, next let us identify a couple of tricks, which DBAs can use to act smartly.
- Change the default username
You may know how to create a username, but WordPress does not let you change it later. However, you can now do it through SQL by running the below command.
- Change the password
If you forget your password as WordPress admin, you can now easily change if you have access to the DB by running the command as:
For this, we must use MD5 as the passwords are usually stored as encrypted.
- Delete all spams
Sometimes, spam comments may be your major problem. You can make use of tools like Akismet to monitor and control spam. However, if you identify a lot of spam that needs to be removed, you can use the below SQL queries.
Check the spam source
In conclusion, we hope that this article helped by acting as an icebreaking session for the WordPress DBAs who were confused about handling databases. Even though there are plenty of plugins coming out nowadays, you should not try the first one you see, but think twice and find the easiest and most viable solutions for your requirements.
No Comments