Halo数据库在My sql环境下支持跨库查询,跨库查询和普通查询有什么区别?
Halo数据库在MySQL模式下,是支持跨库查询的,跨库查询时注意以db_name.table_name 指定库表
在MySQL模式下支持跨库查询,不过需要满足如下条件:
例如:
有存量业务数据,并且存在跨库查询时,将存量业务数据导入到Halo-MySQL的时候,需要在Halo-MySQL下:
1)先创建一个database,
2)然后为原来存量业务数据在MySQL下的每个database,在Halo-psql上新创建的database下,创建一个同名scheme,
3)再然后,依次为原MySQL各个database下的表,在Halo-MySQL上刚创建的同名scheme下创建表(例如:create table sheme_name.table_name……)。
示例:
进入psql
[halo@localhost halo]$ psql
psql (14.5 (221108))
输入 "help" 来获取帮助信息.
切换数据库到test
\c test
创建数据库(test1、test2)、授权、例句、表格(test1.t1、test1.t2)
test=# create database test1;
CREATE DATABASE
test=# create schema test1;
CREATE SCHEMA
test=# grant all privileges on schema test1 to halo1;
GRANT
test=# create table test1.t1 (id int);
CREATE TABLE
test=# create database test2;
CREATE DATABASE
test=# create schema test2;
CREATE SCHEMA
test=# grant all privileges on schema test2 to halo1;
GRANT
test=# create table test2.t1 (id int);
CREATE TABLE
退出psql
\q
使用MySQL客户端连接到Halo-MySQL数据库上:
mysql -h 127.0.0.1 -P 3306 -u halo1 -D test -
在Halo-MySQL中对psql表格test1.t1、test1.t2进行新增数据
mysql> insert into test1.t1 value(1);
Query OK, 1 row affected (0.00 sec)
mysql> insert into test2.t1 value(2);
Query OK, 1 row affected (0.00 sec)
查询:
mysql> select * from test1.t1,test2.t1;
+----+----+
| id | id |
+----+----+
| 1 | 2 |
+----+----+
1 row in set (0.00 sec)
评论
有用 2
墨值悬赏


