当前位置: 首页 > 面试题库 >

在MySQL中使用SELECT语句获取表名

闾丘炫明
2023-03-14
问题内容

在MySQL中,我知道可以使用以下命令列出数据库中的表:

SHOW TABLES

但是,我想将这些表名插入另一个表,例如:

INSERT INTO metadata(table_name) SHOW TABLES /* does not work */

有没有一种方法可以使用标准的SELECT语句获取表名,例如:

INSERT INTO metadata(table_name) SELECT name FROM table_names /* what should table_names be? */

问题答案:

要获取所有表的名称,请使用:

SELECT table_name FROM information_schema.tables;

要从特定数据库获取表的名称,请使用:

SELECT table_name FROM information_schema.tables
WHERE table_schema = 'your_database_name';

现在,要回答原始问题,请使用以下查询:

INSERT INTO table_name
    SELECT table_name FROM information_schema.tables
        WHERE table_schema = 'your_database_name';

有关更多详细信息,请参见:http : //dev.mysql.com/doc/refman/5.0/en/information-
schema.html



 类似资料:
  • 问题内容: 我正在尝试在MySQL选择查询中使用一条语句。 我在第一个语句之后出现错误。 为什么这不起作用?在MySQL查询中执行IF语句的正确方法是什么? 问题答案: 您使用的IF / THEN / ELSE构造仅在存储过程和函数中有效。您的查询将需要重组,因为您不能使用IF()函数来控制WHERE子句的流程。 可以在查询中使用的IF()函数主要用于在查询的SELECT部分​​中根据某些条件选择

  • 问题内容: 在WHERE子句中有使用SELECT语句描述的名称吗?这是好/不好的做法吗? 这会是更好的选择吗? 它远没有那么优雅,但是运行起来比以前的版本要快。我不喜欢它,因为它在GUI中没有非常清晰地显示(并且SQL初学者需要理解它)。我可以将其分为两个独立的查询,但是随后事情变得混乱了…… 注意:我不仅需要日期和分数(例如姓名) 问题答案: 称为相关子查询。它有它的用途。

  • 本文向大家介绍MySQL中select语句使用order按行排序,包括了MySQL中select语句使用order按行排序的使用技巧和注意事项,需要的朋友参考一下 本文介绍MySQL数据库中执行select查询语句,并对查询的结果使用order by 子句进行排序。 再来回顾一下SQL语句中的select语句的语法: Select 语句的基本语法: Select <列的集合> from <表名>

  • 问题内容: 以下工作-拒付金额等于1时返回Y,否则默认为N 但是我似乎无法使这一工作正常?语法有效吗 问题答案: 大概这可以工作:

  • 问题内容: 我有以下内容: 创建DB并使用他的前两个 方法工作正常。当到达行中时,它将引发异常- 问题答案: 这应该在您的情况下有效: 原因:每次调用execute方法时,语句只能执行一个SQL语句。 如果要同时执行两个或多个语句,则可以使用Batch-Jobs来执行。 喜欢:

  • 我有以下表格: http://www.gulllakeschools.net/mysqltables.pdf 我需要以以下格式提取数据:学生姓、学生名、日期事件、日期事件(学生登录的每一天都有一个日期事件) 组件com_users是我需要从组件列中提取的组件。 我是mysql的菜鸟,不知道如何一次完成。我有这些单独运行良好的精选语句: 但我不能为我的生活让他们加入。我尝试过加入,加入,完全加入,合