我想执行mysql查询而不选择java中的数据库。我可以直接在mysql控制台中这样做,比如:
CREATE TEMPORARY TABLE temptable
As(select REPLACE(a.keywordSupplied,"www.","") as keywordSupplied
from db1.table1
;
我可以在登录mysql控制台后直接执行上面的查询 use
在此声明
use databasename;
我需要这样做,因为我将在一个查询中从两个不同的数据库获取数据。根据http://www.tutorialspoint.com/jdbc/jdbc-create-database.htm 我给了db url作为jdbc:mysql://本地主机/
但它抛出了一个 Exception
```
java.sql.SQLException: No database selected.
mysql控制台中相同的屏幕截图
![](https://i.stack.imgur.com/uyaCM.png)
有什么解决办法吗?
4条答案
按热度按时间g2ieeal71#
而不是
用途:
3duebb1j2#
似乎当您执行“select*from test.demo;”时,它实际上选择“test”数据库并在“demo”表中执行查询。
pbpqsu0x3#
在下面的教程中,他们发布了
CREATE DATABASE
声明。这个语句是可以在数据库上下文之外发出的极少数语句之一(我唯一能想到的另一个语句是CREATE USER
).甚至一个
TEMPORARY
表必须附加到数据库。必须为此操作选择任意数据库。您可能并不关心哪一个是特别的(只需确保您对所选的一个具有写入权限:)
如果确实不想在连接时提供数据库,可以在sql语句中指定目标数据库:
CREATE TEMPORARY TABLE [database].temptable
.aydmsdu94#
请尝试以下代码:
现在您已经与数据库服务器建立了连接,可以执行查询了。我希望你的查询能顺利执行。