HSQLDB 相当于 "Use <databasename>;"
HSQLDB equivalent to "Use <databasename>;"
我想知道您如何告诉 HSQLDB 使用哪个数据库。以 MySQL 为例,我会输入:
use testbd;
仅脚趾工作表来自 "testdb"。
当您使用“HSQL Database Manager”启动 HSQLDB 会话时,会显示所有模式(数据库)。然后,它允许您 select 一个数据库以“使用”。
我怎样才能指定数据库 Testdb 以便我的查询看起来像:
SELECT * FROM NAMES;
而不是啰嗦:
SELECT * FROM TESTDB.NAMES;
命令?还有一种不同的方法可以通过 JDBC、ODBC 或 Java 以编程方式执行此操作吗?
数据库 被选为 JDBC URL 的一部分。如果不创建新连接,则无法在运行时更改它。
但你还是混淆了术语
SELECT * FROM TESTDB.NAMES
从名为 testdb
not 的 schema 中选择 "database"(MySQL 不不要区分数据库和模式,这可能也是您混淆术语的原因)
SQL 标准定义了两个命名空间级别:目录和模式。
完全限定的名称是 database_name.schema_name.object_name
。你只能从一开始就省略部分。因此 foo.bar
在架构 foo
中引用了 table bar
。由于 HSQLDB 不支持每个数据库有多个目录(或者实际上:当前数据库 是 "catalog"),您总是可以省略目录名称引用 table.
时
详见手册:
http://hsqldb.org/doc/2.0/guide/databaseobjects-chapt.html#dbc_names_references
为避免必须指定 table 的模式,您可以使用 set schema
语句更改 当前 模式:
SET SCHEMA testdb;
手册中也有记载:
http://hsqldb.org/doc/2.0/guide/sessions-chapt.html#N10BBF
我想知道您如何告诉 HSQLDB 使用哪个数据库。以 MySQL 为例,我会输入:
use testbd;
仅脚趾工作表来自 "testdb"。
当您使用“HSQL Database Manager”启动 HSQLDB 会话时,会显示所有模式(数据库)。然后,它允许您 select 一个数据库以“使用”。
我怎样才能指定数据库 Testdb 以便我的查询看起来像:
SELECT * FROM NAMES;
而不是啰嗦:
SELECT * FROM TESTDB.NAMES;
命令?还有一种不同的方法可以通过 JDBC、ODBC 或 Java 以编程方式执行此操作吗?
数据库 被选为 JDBC URL 的一部分。如果不创建新连接,则无法在运行时更改它。
但你还是混淆了术语
SELECT * FROM TESTDB.NAMES
从名为 testdb
not 的 schema 中选择 "database"(MySQL 不不要区分数据库和模式,这可能也是您混淆术语的原因)
SQL 标准定义了两个命名空间级别:目录和模式。
完全限定的名称是 database_name.schema_name.object_name
。你只能从一开始就省略部分。因此 foo.bar
在架构 foo
中引用了 table bar
。由于 HSQLDB 不支持每个数据库有多个目录(或者实际上:当前数据库 是 "catalog"),您总是可以省略目录名称引用 table.
详见手册:
http://hsqldb.org/doc/2.0/guide/databaseobjects-chapt.html#dbc_names_references
为避免必须指定 table 的模式,您可以使用 set schema
语句更改 当前 模式:
SET SCHEMA testdb;
手册中也有记载:
http://hsqldb.org/doc/2.0/guide/sessions-chapt.html#N10BBF