MySQL多库关联实现数据关联查询(mysql 不同库关联)
MySQL多库关联实现数据关联查询
在实际应用中,有时需要对不同的数据库中的数据进行关联查询,这就需要用到MySQL多库关联。本文将介绍如何在MySQL中实现多库关联,具体实现方法如下:
1. 创建多个数据库,并分别插入数据
我们需要创建多个数据库,并在每个数据库中插入数据。以两个数据库为例:
CREATE DATABASE db1;
USE db1;CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20));
INSERT INTO t1 (name) VALUES ('Tom'), ('Jerry');
CREATE DATABASE db2;USE db2;
CREATE TABLE t2 (id INT PRIMARY KEY AUTO_INCREMENT, score INT);INSERT INTO t2 (score) VALUES (100), (90);
2. 连接MySQL,并进行关联查询
接下来,我们需要连接到MySQL,并进行关联查询。以下是一个简单的示例:
SELECT db1.t1.name, db2.t2.score
FROM db1.t1INNER JOIN db2.t2
ON db1.t1.id = db2.t2.id;
在上面的查询中,我们使用了INNER JOIN语句将两个数据库中的数据进行关联,并通过db1和db2指定了数据库的名称。在ON子句中,我们使用了id字段进行关联。
3. 示例代码
以下是一个完整的MySQL多库关联示例代码:
$servername = "localhost";$username = "username";
$password = "password";
// 创建连接$conn = new mysqli($servername, $username, $password);
// 检测连接是否成功if ($conn->connect_error) {
die("Connection fled: " . $conn->connect_error);}
// 选择数据库mysqli_select_db($conn, "db1");
// 查询数据库$sql = "SELECT db1.t1.name, db2.t2.score
FROM db1.t1INNER JOIN db2.t2
ON db1.t1.id = db2.t2.id";
$result = mysqli_query($conn, $sql);
// 输出结果while($row = mysqli_fetch_array($result)) {
echo $row['name'] . " - Score: " . $row['score'] . "
";}
// 关闭连接mysqli_close($conn);
?>
在上述代码中,我们使用mysqli选择连接到MySQL,并连接到db1数据库进行查询。
总结
通过实现上述步骤,我们可以轻松地实现MySQL多库关联,并对不同数据库中的数据进行关联查询。这在实际应用中非常常见,需要多次进行数据整合的场景下,MySQL多库关联将显得非常便捷。