查询
更新时间:2022-09-09
PALO 支持 Mysql 协议访问。您可以使用任意只用标准的 Mysql 客户端或程序库访问 PALO。
使用 MySQL 查询
通过 MySQL 客户端连接到 PALO 以后,可以通过 show databases;
查看数据库。使用 use db_name;
选择数据库,使用 show tables;
查看数据库中的表。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| ssb |
+--------------------+
可以通过 help create database;
和 help create table;
查看建库和建表帮助。
执行查询的时候,只要直接输入SQL语句即可
mysql> select count(*) from lineorder;
+----------+
| count(*) |
+----------+
| 74046702 |
+----------+
1 row in set (0.68 sec)
使用 JDBC/ODBC 查询
可以使用 JDBC/ODBC 连接 PALO,连接 url 在集群信息页面可以获得。下面是 JDBC 的示例代码,需要使用 MySQL 的 JDBC 驱动
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Test {
public static void main(String[] args) {
// 加载驱动程序
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
// 创建数据库连接
java.sql.Connection conn = null;
try {
String url = "jdbc:mysql://your_cluster_node:9030/testDb";
String user = "admin";
String password = "my_password";
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
// 发起查询,取结果
java.sql.Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from testTable limit 10");
while (rs.next()) {
System.out.print(rs.getInt("k1") + " ");
System.out.println(rs.getString("k2") + " ");
}
} catch (SQLException e) {
e.printStackTrace();
}
// 关闭数据库连接
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}