在h2内存数据库spring boot中列出所有创建的用户的方法是什么

What is the way to list all created users in h2 memory database spring boot

我 运行 在 spring 引导应用程序中使用内存中的 h2 数据库进行一些单元测试。同时与内存中的 h2 数据库交互,我创建了一些用户并授予他们一些权限。我可以看到用户正在成功创建(我假设它是因为命令成功执行而没有任何问题并且授予权限命令也成功执行。)。我想列出当前存在于数据库中的所有现有用户,并想用我创建的那些用户断言结果。

我知道我们使用数据库查询列出 mySql 数据库中的所有用户:

select * from mysql.user

我只想实现同样的事情,但使用内存中的 h2 数据库。有谁知道如何获取内存数据库中 h2 中所有用户的列表。

我正在尝试此查询 select * from users,但系统抛出异常表明用户 table 不存在。有没有办法让所有用户都进入h2数据库?

我试过 show 命令,但 show tables 仅列出那些由我的应用程序创建的 table。我自己没有创建任何用户 table,我假设内存中的 h2 将有任何 table 持久用户信息,就像 mysql.user table 一样。 show schemas 还显示我的数据库已经在 h2 内存数据库中创建。

谢谢。

如评论中所述:您确实在 INFORMATION_SCHEMA 模式下找到了 USERS table。因此你必须查询: select * from INFORMATION_SCHEMA.USERS;

DBMS 组织其内部配置的方式在 DBMS 与 DBMS 之间是完全不同的。正如您所说,在 mysql 中,mysql.users 中有用户 table(据我所知至少对于 MariaDB),而对于 H2,在 INFORMATION_SCHEMA.USERS 中也是如此。