wp-cli/db-command
Performs basic database operations using credentials stored in wp-config.php., (*1)
 , (*2)
, (*2)
Quick links: Using | Installing | Contributing | Support, (*3)
Using
This package implements the following commands:, (*4)
wp db
Performs basic database operations using credentials stored in wp-config.php., (*5)
wp db
EXAMPLES, (*6)
# Create a new database.
$ wp db create
Success: Database created.
# Drop an existing database.
$ wp db drop --yes
Success: Database dropped.
# Reset the current database.
$ wp db reset --yes
Success: Database reset.
# Execute a SQL query stored in a file.
$ wp db query < debug.sql
wp db clean
Removes all tables with $table_prefix from the database., (*7)
wp db clean [--dbuser=<value>] [--dbpass=<value>] [--yes] [--defaults]
Runs DROP_TABLE for each table that has a $table_prefix as specified
in wp-config.php., (*8)
OPTIONS, (*9)
[--dbuser=<value>]
    Username to pass to mysql. Defaults to DB_USER.
[--dbpass=<value>]
    Password to pass to mysql. Defaults to DB_PASSWORD.
[--yes]
    Answer yes to the confirmation message.
[--defaults]
    Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
EXAMPLES, (*10)
# Delete all tables that match the current site prefix.
$ wp db clean --yes
Success: Tables dropped.
wp db create
Creates a new database., (*11)
wp db create [--dbuser=<value>] [--dbpass=<value>] [--defaults]
Runs CREATE_DATABASE SQL statement using DB_HOST, DB_NAME,
DB_USER and DB_PASSWORD database credentials specified in
wp-config.php., (*12)
OPTIONS, (*13)
[--dbuser=<value>]
    Username to pass to mysql. Defaults to DB_USER.
[--dbpass=<value>]
    Password to pass to mysql. Defaults to DB_PASSWORD.
[--defaults]
    Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
EXAMPLES, (*14)
$ wp db create
Success: Database created.
wp db drop
Deletes the existing database., (*15)
wp db drop [--dbuser=<value>] [--dbpass=<value>] [--yes] [--defaults]
Runs DROP_DATABASE SQL statement using DB_HOST, DB_NAME,
DB_USER and DB_PASSWORD database credentials specified in
wp-config.php., (*16)
OPTIONS, (*17)
[--dbuser=<value>]
    Username to pass to mysql. Defaults to DB_USER.
[--dbpass=<value>]
    Password to pass to mysql. Defaults to DB_PASSWORD.
[--yes]
    Answer yes to the confirmation message.
[--defaults]
    Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
EXAMPLES, (*18)
$ wp db drop --yes
Success: Database dropped.
wp db reset
Removes all tables from the database., (*19)
wp db reset [--dbuser=<value>] [--dbpass=<value>] [--yes] [--defaults]
Runs DROP_DATABASE and CREATE_DATABASE SQL statements using
DB_HOST, DB_NAME, DB_USER and DB_PASSWORD database credentials
specified in wp-config.php., (*20)
OPTIONS, (*21)
[--dbuser=<value>]
    Username to pass to mysql. Defaults to DB_USER.
[--dbpass=<value>]
    Password to pass to mysql. Defaults to DB_PASSWORD.
[--yes]
    Answer yes to the confirmation message.
[--defaults]
    Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
EXAMPLES, (*22)
$ wp db reset --yes
Success: Database reset.
wp db check
Checks the current status of the database., (*23)
wp db check [--dbuser=<value>] [--dbpass=<value>] [--<field>=<value>] [--defaults]
Runs mysqlcheck utility with --check using DB_HOST,
DB_NAME, DB_USER and DB_PASSWORD database credentials
specified in wp-config.php., (*24)
See docs
for more details on the CHECK TABLE statement., (*25)
This command does not check whether WordPress is installed;
to do that run wp core is-installed., (*26)
OPTIONS, (*27)
[--dbuser=<value>]
    Username to pass to mysqlcheck. Defaults to DB_USER.
[--dbpass=<value>]
    Password to pass to mysqlcheck. Defaults to DB_PASSWORD.
[--<field>=<value>]
    Extra arguments to pass to mysqlcheck. [Refer to mysqlcheck docs](https://dev.mysql.com/doc/en/mysqlcheck.html).
[--defaults]
    Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
EXAMPLES, (*28)
$ wp db check
Success: Database checked.
wp db optimize
Optimizes the database., (*29)
wp db optimize [--dbuser=<value>] [--dbpass=<value>] [--<field>=<value>] [--defaults]
Runs mysqlcheck utility with --optimize=true using DB_HOST,
DB_NAME, DB_USER and DB_PASSWORD database credentials
specified in wp-config.php., (*30)
See docs
for more details on the OPTIMIZE TABLE statement., (*31)
OPTIONS, (*32)
[--dbuser=<value>]
    Username to pass to mysqlcheck. Defaults to DB_USER.
[--dbpass=<value>]
    Password to pass to mysqlcheck. Defaults to DB_PASSWORD.
[--<field>=<value>]
    Extra arguments to pass to mysqlcheck. [Refer to mysqlcheck docs](https://dev.mysql.com/doc/en/mysqlcheck.html).
[--defaults]
    Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
EXAMPLES, (*33)
$ wp db optimize
Success: Database optimized.
wp db prefix
Displays the database table prefix., (*34)
wp db prefix 
Display the database table prefix, as defined by the database handler's interpretation of the current site., (*35)
EXAMPLES, (*36)
$ wp db prefix
wp_
wp db repair
Repairs the database., (*37)
wp db repair [--dbuser=<value>] [--dbpass=<value>] [--<field>=<value>] [--defaults]
Runs mysqlcheck utility with --repair=true using DB_HOST,
DB_NAME, DB_USER and DB_PASSWORD database credentials
specified in wp-config.php., (*38)
See docs for
more details on the REPAIR TABLE statement., (*39)
OPTIONS, (*40)
[--dbuser=<value>]
    Username to pass to mysqlcheck. Defaults to DB_USER.
[--dbpass=<value>]
    Password to pass to mysqlcheck. Defaults to DB_PASSWORD.
[--<field>=<value>]
    Extra arguments to pass to mysqlcheck. [Refer to mysqlcheck docs](https://dev.mysql.com/doc/en/mysqlcheck.html).
[--defaults]
    Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
EXAMPLES, (*41)
$ wp db repair
Success: Database repaired.
wp db cli
Opens a MySQL console using credentials from wp-config.php, (*42)
wp db cli [--database=<database>] [--default-character-set=<character-set>] [--dbuser=<value>] [--dbpass=<value>] [--<field>=<value>] [--defaults]
OPTIONS, (*43)
[--database=<database>]
    Use a specific database. Defaults to DB_NAME.
[--default-character-set=<character-set>]
    Use a specific character set. Defaults to DB_CHARSET when defined.
[--dbuser=<value>]
    Username to pass to mysql. Defaults to DB_USER.
[--dbpass=<value>]
    Password to pass to mysql. Defaults to DB_PASSWORD.
[--<field>=<value>]
    Extra arguments to pass to mysql. [Refer to mysql docs](https://dev.mysql.com/doc/en/mysql-command-options.html).
[--defaults]
    Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
EXAMPLES, (*44)
# Open MySQL console
$ wp db cli
mysql>
wp db query
Executes a SQL query against the database., (*45)
wp db query [<sql>] [--dbuser=<value>] [--dbpass=<value>] [--<field>=<value>] [--defaults]
Executes an arbitrary SQL query using DB_HOST, DB_NAME, DB_USER
 and DB_PASSWORD database credentials specified in wp-config.php., (*46)
Use the --skip-column-names MySQL argument to exclude the headers
from a SELECT query. Pipe the output to remove the ASCII table
entirely., (*47)
OPTIONS, (*48)
[<sql>]
    A SQL query. If not passed, will try to read from STDIN.
[--dbuser=<value>]
    Username to pass to mysql. Defaults to DB_USER.
[--dbpass=<value>]
    Password to pass to mysql. Defaults to DB_PASSWORD.
[--<field>=<value>]
    Extra arguments to pass to mysql. [Refer to mysql docs](https://dev.mysql.com/doc/en/mysql-command-options.html).
[--defaults]
    Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
EXAMPLES, (*49)
# Execute a query stored in a file
$ wp db query < debug.sql
# Query for a specific value in the database (pipe the result to remove the ASCII table borders)
$ wp db query 'SELECT option_value FROM wp_options WHERE option_name="home"' --skip-column-names
+---------------------+
| https://example.com |
+---------------------+
# Check all tables in the database
$ wp db query "CHECK TABLE $(wp db tables | paste -s -d, -);"
+---------------------------------------+-------+----------+----------+
| Table                                 | Op    | Msg_type | Msg_text |
+---------------------------------------+-------+----------+----------+
| wordpress_dbase.wp_users              | check | status   | OK       |
| wordpress_dbase.wp_usermeta           | check | status   | OK       |
| wordpress_dbase.wp_posts              | check | status   | OK       |
| wordpress_dbase.wp_comments           | check | status   | OK       |
| wordpress_dbase.wp_links              | check | status   | OK       |
| wordpress_dbase.wp_options            | check | status   | OK       |
| wordpress_dbase.wp_postmeta           | check | status   | OK       |
| wordpress_dbase.wp_terms              | check | status   | OK       |
| wordpress_dbase.wp_term_taxonomy      | check | status   | OK       |
| wordpress_dbase.wp_term_relationships | check | status   | OK       |
| wordpress_dbase.wp_termmeta           | check | status   | OK       |
| wordpress_dbase.wp_commentmeta        | check | status   | OK       |
+---------------------------------------+-------+----------+----------+
# Pass extra arguments through to MySQL
$ wp db query 'SELECT * FROM wp_options WHERE option_name="home"' --skip-column-names
+---+------+------------------------------+-----+
| 2 | home | http://wordpress-develop.dev | yes |
+---+------+------------------------------+-----+
MULTISITE USAGE, (*50)
Please note that the global --url parameter will have no effect on this command.
In order to query for data in a site other than your primary site,
you will need to manually modify the table names to use the prefix that includes the site's ID., (*51)
For example, to get the home option for your second site, modify the example above like so:, (*52)
$ wp db query 'SELECT option_value FROM wp_2_options WHERE option_name="home"' --skip-column-names
+----------------------+
| https://example2.com |
+----------------------+
To confirm the ID for the site you want to query, you can use the wp site list command:, (*53)
# wp site list --fields=blog_id,url
+---------+-----------------------+
| blog_id | url                   |
+---------+-----------------------+
| 1       | https://example1.com/ |
| 2       | https://example2.com/ |
+---------+-----------------------+
wp db export
Exports the database to a file or to STDOUT., (*54)
wp db export [<file>] [--dbuser=<value>] [--dbpass=<value>] [--<field>=<value>] [--tables=<tables>] [--exclude_tables=<tables>] [--include-tablespaces] [--porcelain] [--add-drop-table] [--defaults]
Runs mysqldump utility using DB_HOST, DB_NAME, DB_USER and
DB_PASSWORD database credentials specified in wp-config.php. Accepts any valid mysqldump flags., (*55)
OPTIONS, (*56)
[<file>]
    The name of the SQL file to export. If '-', then outputs to STDOUT. If
    omitted, it will be '{dbname}-{Y-m-d}-{random-hash}.sql'.
[--dbuser=<value>]
    Username to pass to mysqldump. Defaults to DB_USER.
[--dbpass=<value>]
    Password to pass to mysqldump. Defaults to DB_PASSWORD.
[--<field>=<value>]
    Extra arguments to pass to mysqldump. [Refer to mysqldump docs](https://dev.mysql.com/doc/en/mysqldump.html#mysqldump-option-summary).
[--tables=<tables>]
    The comma separated list of specific tables to export. Excluding this parameter will export all tables in the database.
[--exclude_tables=<tables>]
    The comma separated list of specific tables that should be skipped from exporting. Excluding this parameter will export all tables in the database.
[--include-tablespaces]
    Skips adding the default --no-tablespaces option to mysqldump.
[--porcelain]
    Output filename for the exported database.
[--add-drop-table]
    Include a `DROP TABLE IF EXISTS` statement before each `CREATE TABLE` statement.
[--defaults]
    Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
EXAMPLES, (*57)
# Export database with drop query included
$ wp db export --add-drop-table
Success: Exported to 'wordpress_dbase-db72bb5.sql'.
# Export certain tables
$ wp db export --tables=wp_options,wp_users
Success: Exported to 'wordpress_dbase-db72bb5.sql'.
# Export all tables matching a wildcard
$ wp db export --tables=$(wp db tables 'wp_user*' --format=csv)
Success: Exported to 'wordpress_dbase-db72bb5.sql'.
# Export all tables matching prefix
$ wp db export --tables=$(wp db tables --all-tables-with-prefix --format=csv)
Success: Exported to 'wordpress_dbase-db72bb5.sql'.
# Export certain posts without create table statements
$ wp db export --no-create-info=true --tables=wp_posts --where="ID in (100,101,102)"
Success: Exported to 'wordpress_dbase-db72bb5.sql'.
# Export relating meta for certain posts without create table statements
$ wp db export --no-create-info=true --tables=wp_postmeta --where="post_id in (100,101,102)"
Success: Exported to 'wordpress_dbase-db72bb5.sql'.
# Skip certain tables from the exported database
$ wp db export --exclude_tables=wp_options,wp_users
Success: Exported to 'wordpress_dbase-db72bb5.sql'.
# Skip all tables matching a wildcard from the exported database
$ wp db export --exclude_tables=$(wp db tables 'wp_user*' --format=csv)
Success: Exported to 'wordpress_dbase-db72bb5.sql'.
# Skip all tables matching prefix from the exported database
$ wp db export --exclude_tables=$(wp db tables --all-tables-with-prefix --format=csv)
Success: Exported to 'wordpress_dbase-db72bb5.sql'.
# Export database to STDOUT.
$ wp db export -
-- MySQL dump 10.13  Distrib 5.7.19, for osx10.12 (x86_64)
--
-- Host: localhost    Database: wpdev
-- ------------------------------------------------------
-- Server version    5.7.19
...
wp db import
Imports a database from a file or from STDIN., (*58)
wp db import [<file>] [--dbuser=<value>] [--dbpass=<value>] [--<field>=<value>] [--skip-optimization] [--defaults]
Runs SQL queries using DB_HOST, DB_NAME, DB_USER and
DB_PASSWORD database credentials specified in wp-config.php. This
does not create database by itself and only performs whatever tasks are
defined in the SQL., (*59)
OPTIONS, (*60)
[<file>]
    The name of the SQL file to import. If '-', then reads from STDIN. If omitted, it will look for '{dbname}.sql'.
[--dbuser=<value>]
    Username to pass to mysql. Defaults to DB_USER.
[--dbpass=<value>]
    Password to pass to mysql. Defaults to DB_PASSWORD.
[--<field>=<value>]
    Extra arguments to pass to mysql. [Refer to mysql binary docs](https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html).
[--skip-optimization]
    When using an SQL file, do not include speed optimization such as disabling auto-commit and key checks.
[--defaults]
    Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
EXAMPLES, (*61)
# Import MySQL from a file.
$ wp db import wordpress_dbase.sql
Success: Imported from 'wordpress_dbase.sql'.
wp db search
Finds a string in the database., (*62)
wp db search <search> [<tables>...] [--network] [--all-tables-with-prefix] [--all-tables] [--before_context=<num>] [--after_context=<num>] [--regex] [--regex-flags=<regex-flags>] [--regex-delimiter=<regex-delimiter>] [--table_column_once] [--one_line] [--matches_only] [--stats] [--table_column_color=<color_code>] [--id_color=<color_code>] [--match_color=<color_code>] [--fields=<fields>] [--format=<format>]
Searches through all of the text columns in a selection of database tables for a given string, Outputs colorized references to the string., (*63)
Defaults to searching through all tables registered to $wpdb. On multisite, this default is limited to the tables for the current site., (*64)
OPTIONS, (*65)
<search>
    String to search for. The search is case-insensitive by default.
[<tables>...]
    One or more tables to search through for the string.
[--network]
    Search through all the tables registered to $wpdb in a multisite install.
[--all-tables-with-prefix]
    Search through all tables that match the registered table prefix, even if not registered on $wpdb. On one hand, sometimes plugins use tables without registering them to $wpdb. On another hand, this could return tables you don't expect. Overrides --network.
[--all-tables]
    Search through ALL tables in the database, regardless of the prefix, and even if not registered on $wpdb. Overrides --network and --all-tables-with-prefix.
[--before_context=<num>]
    Number of characters to display before the match.
    ---
    default: 40
    ---
[--after_context=<num>]
    Number of characters to display after the match.
    ---
    default: 40
    ---
[--regex]
    Runs the search as a regular expression (without delimiters). The search becomes case-sensitive (i.e. no PCRE flags are added). Delimiters must be escaped if they occur in the expression. Because the search is run on individual columns, you can use the `^` and `$` tokens to mark the start and end of a match, respectively.
[--regex-flags=<regex-flags>]
    Pass PCRE modifiers to the regex search (e.g. 'i' for case-insensitivity).
[--regex-delimiter=<regex-delimiter>]
    The delimiter to use for the regex. It must be escaped if it appears in the search string. The default value is the result of `chr(1)`.
[--table_column_once]
    Output the 'table:column' line once before all matching row lines in the table column rather than before each matching row.
[--one_line]
    Place the 'table:column' output on the same line as the row id and match ('table:column:id:match'). Overrides --table_column_once.
[--matches_only]
    Only output the string matches (including context). No 'table:column's or row ids are outputted.
[--stats]
    Output stats on the number of matches found, time taken, tables/columns/rows searched, tables skipped.
[--table_column_color=<color_code>]
    Percent color code to use for the 'table:column' output. For a list of available percent color codes, see below. Default '%G' (bright green).
[--id_color=<color_code>]
    Percent color code to use for the row id output. For a list of available percent color codes, see below. Default '%Y' (bright yellow).
[--match_color=<color_code>]
    Percent color code to use for the match (unless both before and after context are 0, when no color code is used). For a list of available percent color codes, see below. Default '%3%k' (black on a mustard background).
[--fields=<fields>]
    Get a specific subset of the fields.
[--format=<format>]
    Render output in a particular format.
    ---
    options:
      - table
      - csv
      - json
      - yaml
      - ids
      - count
    ---
The percent color codes available are:, (*66)
| Code | Color | 
| %y | Yellow (dark) (mustard) | 
| %g | Green (dark) | 
| %b | Blue (dark) | 
| %r | Red (dark) | 
| %m | Magenta (dark) | 
| %c | Cyan (dark) | 
| %w | White (dark) (light gray) | 
| %k | Black | 
| %Y | Yellow (bright) | 
| %G | Green (bright) | 
| %B | Blue (bright) | 
| %R | Red (bright) | 
| %M | Magenta (bright) | 
| %C | Cyan (bright) | 
| %W | White | 
| %K | Black (bright) (dark gray) | 
| %3 | Yellow background (dark) (mustard) | 
| %2 | Green background (dark) | 
| %4 | Blue background (dark) | 
| %1 | Red background (dark) | 
| %5 | Magenta background (dark) | 
| %6 | Cyan background (dark) | 
| %7 | White background (dark) (light gray) | 
| %0 | Black background | 
| %8 | Reverse | 
| %U | Underline | 
| %F | Blink (unlikely to work) | 
They can be concatenated. For instance, the default match color of black on a mustard (dark yellow) background %3%k can be made black on a bright yellow background with %Y%0%8., (*67)
AVAILABLE FIELDS, (*68)
These fields will be displayed by default for each result:, (*69)
- table
- column
- match
- primary_key_name
- primary_key_value
EXAMPLES, (*70)
# Search through the database for the 'wordpress-develop' string
$ wp db search wordpress-develop
wp_options:option_value
1:http://wordpress-develop.dev
wp_options:option_value
1:https://example.com/foo
    ...
# Search through a multisite database on the subsite 'foo' for the 'example.com' string
$ wp db search example.com --url=example.com/foo
wp_2_comments:comment_author_url
1:https://example.com/
wp_2_options:option_value
    ...
# Search through the database for the 'https?://' regular expression, printing stats.
$ wp db search 'https?://' --regex --stats
wp_comments:comment_author_url
1:https://wordpress.org/
    ...
Success: Found 99146 matches in 10.752s (10.559s searching). Searched 12 tables, 53 columns, 1358907 rows. 1 table skipped: wp_term_relationships.
# SQL search database table 'wp_options' where 'option_name' match 'foo'
wp db query 'SELECT * FROM wp_options WHERE option_name like "%foo%"' --skip-column-names
+----+--------------+--------------------------------+-----+
| 98 | foo_options  | a:1:{s:12:"_multiwidget";i:1;} | yes |
| 99 | foo_settings | a:0:{}                         | yes |
+----+--------------+--------------------------------+-----+
# SQL search and delete records from database table 'wp_options' where 'option_name' match 'foo'
wp db query "DELETE from wp_options where option_id in ($(wp db query "SELECT GROUP_CONCAT(option_id SEPARATOR ',') from wp_options where option_name like '%foo%';" --silent --skip-column-names))"
# Search for a string and print the result as a table
$ wp db search https://localhost:8889 --format=table --fields=table,column,match
+------------+--------------+-----------------------------+
| table      | column       | match                       |
+------------+--------------+-----------------------------+
| wp_options | option_value | https://localhost:8889      |
| wp_options | option_value | https://localhost:8889      |
| wp_posts   | guid         | https://localhost:8889/?p=1 |
| wp_users   | user_url     | https://localhost:8889      |
+------------+--------------+-----------------------------+
# Search for a string and get only the IDs (only works for a single table)
$ wp db search https://localhost:8889 wp_options --format=ids
1 2
wp db tables
Lists the database tables., (*71)
wp db tables [<table>...] [--scope=<scope>] [--network] [--all-tables-with-prefix] [--all-tables] [--format=<format>]
Defaults to all tables registered to the $wpdb database handler., (*72)
OPTIONS, (*73)
[<table>...]
    List tables based on wildcard search, e.g. 'wp_*_options' or 'wp_post?'.
[--scope=<scope>]
    Can be all, global, ms_global, blog, or old tables. Defaults to all.
[--network]
    List all the tables in a multisite install.
[--all-tables-with-prefix]
    List all tables that match the table prefix even if not registered on $wpdb. Overrides --network.
[--all-tables]
    List all tables in the database, regardless of the prefix, and even if not registered on $wpdb. Overrides --all-tables-with-prefix.
[--format=<format>]
    Render output in a particular format.
    ---
    default: list
    options:
      - list
      - csv
    ---
EXAMPLES, (*74)
# List tables for a single site, without shared tables like 'wp_users'
$ wp db tables --scope=blog --url=sub.example.com
wp_3_posts
wp_3_comments
wp_3_options
wp_3_postmeta
wp_3_terms
wp_3_term_taxonomy
wp_3_term_relationships
wp_3_termmeta
wp_3_commentmeta
# Export only tables for a single site
$ wp db export --tables=$(wp db tables --url=sub.example.com --format=csv)
Success: Exported to wordpress_dbase.sql
wp db size
Displays the database name and size., (*75)
wp db size [--size_format=<format>] [--tables] [--human-readable] [--format=<format>] [--scope=<scope>] [--network] [--decimals=<decimals>] [--all-tables-with-prefix] [--all-tables] [--order=<order>] [--orderby=<orderby>]
Display the database name and size for DB_NAME specified in wp-config.php.
The size defaults to a human-readable number., (*76)
Available size formats include:
* b (bytes)
* kb (kilobytes)
* mb (megabytes)
* gb (gigabytes)
* tb (terabytes)
* B   (ISO Byte setting, with no conversion)
* KB  (ISO Kilobyte setting, with 1 KB  = 1,000 B)
* KiB (ISO Kibibyte setting, with 1 KiB = 1,024 B)
* MB  (ISO Megabyte setting, with 1 MB  = 1,000 KB)
* MiB (ISO Mebibyte setting, with 1 MiB = 1,024 KiB)
* GB  (ISO Gigabyte setting, with 1 GB  = 1,000 MB)
* GiB (ISO Gibibyte setting, with 1 GiB = 1,024 MiB)
* TB  (ISO Terabyte setting, with 1 TB  = 1,000 GB)
* TiB (ISO Tebibyte setting, with 1 TiB = 1,024 GiB), (*77)
OPTIONS, (*78)
[--size_format=<format>]
    Display the database size only, as a bare number.
    ---
    options:
      - b
      - kb
      - mb
      - gb
      - tb
      - B
      - KB
      - KiB
      - MB
      - MiB
      - GB
      - GiB
      - TB
      - TiB
    ---
[--tables]
    Display each table name and size instead of the database size.
[--human-readable]
    Display database sizes in human readable formats.
[--format=<format>]
    Render output in a particular format.
    ---
    options:
      - table
      - csv
      - json
      - yaml
    ---
[--scope=<scope>]
    Can be all, global, ms_global, blog, or old tables. Defaults to all.
[--network]
    List all the tables in a multisite install.
[--decimals=<decimals>]
    Number of digits after decimal point. Defaults to 0.
[--all-tables-with-prefix]
    List all tables that match the table prefix even if not registered on $wpdb. Overrides --network.
[--all-tables]
    List all tables in the database, regardless of the prefix, and even if not registered on $wpdb. Overrides --all-tables-with-prefix.
[--order=<order>]
    Ascending or Descending order.
    ---
    default: asc
    options:
      - asc
      - desc
    ---
[--orderby=<orderby>]
    Order by fields.
    ---
    default: name
    options:
      - name
      - size
    ---
EXAMPLES, (*79)
$ wp db size
+-------------------+------+
| Name              | Size |
+-------------------+------+
| wordpress_default | 6 MB |
+-------------------+------+
$ wp db size --tables
+-----------------------+-------+
| Name                  | Size  |
+-----------------------+-------+
| wp_users              | 64 KB |
| wp_usermeta           | 48 KB |
| wp_posts              | 80 KB |
| wp_comments           | 96 KB |
| wp_links              | 32 KB |
| wp_options            | 32 KB |
| wp_postmeta           | 48 KB |
| wp_terms              | 48 KB |
| wp_term_taxonomy      | 48 KB |
| wp_term_relationships | 32 KB |
| wp_termmeta           | 48 KB |
| wp_commentmeta        | 48 KB |
+-----------------------+-------+
$ wp db size --size_format=b
5865472
$ wp db size --size_format=kb
5728
$ wp db size --size_format=mb
6
wp db columns
Displays information about a given table., (*80)
wp db columns <table> [--format]
OPTIONS, (*81)
<table>
    Name of the database table.
[--format]
    Render output in a particular format.
    ---
    default: table
    options:
      - table
      - csv
      - json
      - yaml
    ---
EXAMPLES, (*82)
$ wp db columns wp_posts
+-----------------------+---------------------+------+-----+---------------------+----------------+
|         Field         |        Type         | Null | Key |       Default       |     Extra      |
+-----------------------+---------------------+------+-----+---------------------+----------------+
| ID                    | bigint(20) unsigned | NO   | PRI |                     | auto_increment |
| post_author           | bigint(20) unsigned | NO   | MUL | 0                   |                |
| post_date             | datetime            | NO   |     | 0000-00-00 00:00:00 |                |
| post_date_gmt         | datetime            | NO   |     | 0000-00-00 00:00:00 |                |
| post_content          | longtext            | NO   |     |                     |                |
| post_title            | text                | NO   |     |                     |                |
| post_excerpt          | text                | NO   |     |                     |                |
| post_status           | varchar(20)         | NO   |     | publish             |                |
| comment_status        | varchar(20)         | NO   |     | open                |                |
| ping_status           | varchar(20)         | NO   |     | open                |                |
| post_password         | varchar(255)        | NO   |     |                     |                |
| post_name             | varchar(200)        | NO   | MUL |                     |                |
| to_ping               | text                | NO   |     |                     |                |
| pinged                | text                | NO   |     |                     |                |
| post_modified         | datetime            | NO   |     | 0000-00-00 00:00:00 |                |
| post_modified_gmt     | datetime            | NO   |     | 0000-00-00 00:00:00 |                |
| post_content_filtered | longtext            | NO   |     |                     |                |
| post_parent           | bigint(20) unsigned | NO   | MUL | 0                   |                |
| guid                  | varchar(255)        | NO   |     |                     |                |
| menu_order            | int(11)             | NO   |     | 0                   |                |
| post_type             | varchar(20)         | NO   | MUL | post                |                |
| post_mime_type        | varchar(100)        | NO   |     |                     |                |
| comment_count         | bigint(20)          | NO   |     | 0                   |                |
+-----------------------+---------------------+------+-----+---------------------+----------------+
Installing
This package is included with WP-CLI itself, no additional installation necessary., (*83)
To install the latest version of this package over what's included in WP-CLI, run:, (*84)
wp package install git@github.com:wp-cli/db-command.git
Contributing
We appreciate you taking the initiative to contribute to this project., (*85)
Contributing isnât limited to just code. We encourage you to contribute in the way that best fits your abilities, by writing tutorials, giving a demo at your local meetup, helping other users with their support questions, or revising our documentation., (*86)
For a more thorough introduction, check out WP-CLI's guide to contributing. This package follows those policy and guidelines., (*87)
Reporting a bug
Think youâve found a bug? Weâd love for you to help us get it fixed., (*88)
Before you create a new issue, you should search existing issues to see if thereâs an existing resolution to it, or if itâs already been fixed in a newer version., (*89)
Once youâve done a bit of searching and discovered there isnât an open or fixed issue for your bug, please create a new issue. Include as much detail as you can, and clear steps to reproduce if possible. For more guidance, review our bug report documentation., (*90)
Creating a pull request
Want to contribute a new feature? Please first open a new issue to discuss whether the feature is a good fit for the project., (*91)
Once you've decided to commit the time to seeing your pull request through, please follow our guidelines for creating a pull request to make sure it's a pleasant experience. See "Setting up" for details specific to working on this package locally., (*92)
Support
GitHub issues aren't for general support questions, but there are other venues you can try: https://wp-cli.org/#support, (*93)
This README.md is generated dynamically from the project's codebase using wp scaffold package-readme (doc). To suggest changes, please submit a pull request against the corresponding part of the codebase., (*94)