Как найти имена таблиц в БД

В данной статье мы рассмотрим способ поиска имён всех таблиц в БД.

Создадим таблицы в нашей БД:


CREATE TABLE customers (
    id INT PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(20),
    last_name VARCHAR(20),
    email VARCHAR(100)
);
                   
CREATE TABLE goods (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(20),
    price DECIMAL
);
                   
CREATE TABLE orders (
    id INT PRIMARY KEY AUTO_INCREMENT,
    created DATE,
    customer_id INT NOT NULL,
    good_id INT NOT NULL,
    FOREIGN KEY (customer_id)
        REFERENCES customers (id),
    FOREIGN KEY (good_id)
        REFERENCES goods (id)
);

После этого мы можем выполнить следующий запрос:


SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES;

В результате мы увидим все таблицы, которые есть в нашей БД.

information_schema CHARACTER_SETS (null)
information_schema COLLATIONS (null)

performance_schema table_lock_waits_summary_by_table 1000
performance_schema threads 1000
performance_schema users 1000

Для того, что бы ограничить выборку, мы можем указать параметр TABLE_SCHEMA.

Например, в моём случае запрос будет иметь следующий вид:


SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'sql_tutorials';

В результате мы видим следующий результат:

TABLE_SCHEMA TABLE_NAME TABLE_ROWS
sql_tutorials customers 0
sql_tutorials goods 0
sql_tutorials orders 0

В данной статье мы рассмотрели способ получения имён все таблиц в БД.