How to get table name with prefix in Magento 2?

You can fetch prefix values from the table name in Magento 2. If your database table has set prefix value for all the tables and wants to fetch that value you can read the next portion.

Let’s say, You have added Prefix value as mage_ for all the tables.

Using getTableName() method, you can get a table with prefix code always,

namespace Your\PathTo\Model;

use Magento\Framework\App\ResourceConnection;

class PrefixTable

    public function __construct(
        ResourceConnection $resource
    ) {
        $this->resource = $resource;

   public function getPrefixTable()
    /* Create Connection */
        $connection  = $this->resource->getConnection();
        $tableName   = $connection->getTableName('sales_order'); // return "prefix_sales_order"

    /* Run Row query */
        $query = "SQL Query";

In the above function, your table will get a prefix value with the table name.
If your table has a prefix as mage_ then your table value will get like, mage_sales_order