标准SQL不会执行__TABLES_SUMMARY__,因为__TABLES_SUMMARY__是特定于MySQL的系统视图,用于获取数据库中表的摘要信息。
以下是使用MySQL来获取数据库中表的摘要信息的代码示例:
-- 创建一个存储过程来获取表的摘要信息
DELIMITER //
CREATE PROCEDURE get_table_summary()
BEGIN
-- 声明变量
DECLARE table_name VARCHAR(255);
DECLARE table_rows INT;
DECLARE data_length INT;
DECLARE index_length INT;
-- 创建临时表存储结果
CREATE TEMPORARY TABLE table_summary (
table_name VARCHAR(255),
table_rows INT,
data_length INT,
index_length INT
);
-- 获取表的摘要信息并插入临时表
SELECT TABLE_NAME, TABLE_ROWS, DATA_LENGTH, INDEX_LENGTH
INTO table_name, table_rows, data_length, index_length
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'your_database_name';
-- 插入结果到临时表
INSERT INTO table_summary (table_name, table_rows, data_length, index_length)
VALUES (table_name, table_rows, data_length, index_length);
-- 查询临时表以获取摘要信息
SELECT * FROM table_summary;
-- 删除临时表
DROP TABLE table_summary;
END //
DELIMITER ;
-- 调用存储过程来获取表的摘要信息
CALL get_table_summary();
请注意,上述代码中的'your_database_name'
应替换为实际的数据库名称。此代码将在MySQL中创建一个存储过程,并使用INFORMATION_SCHEMA.TABLES
视图来获取数据库中表的摘要信息,并将结果存储在临时表中。最后,通过查询临时表来获取表的摘要信息。