如何连接表并从MySQL数据库获取值?

要联接表,请在MySQL中使用JOIN概念。首先,让我们创建两个表。

让我们创建第一个表-

mysql> CREATE TABLE `demo52` (
−> `id` INT NOT NULL,
−> `name` VARCHAR(20) NOT NULL,
−> PRIMARY KEY (`id`)
−> );

借助insert命令将一些记录插入表中-

mysql> insert into demo52 values(1,'John');

mysql> insert into demo52 values(2,'David');

mysql> insert into demo52 values(3,'Mike');

使用select语句显示表中的记录-

mysql> select *from demo52;

这将产生以下输出-

+----+-------+
| id | name  |
+----+-------+
|  1 | John  |
|  2 | David |
|  3 | Mike  |
+----+-------+
3 rows in set (0.00 sec)

以下是创建第二个表的查询。

mysql> CREATE TABLE `demo53` (
−> `id` INT NOT NULL,
−> `age` INT NOT NULL,
−> PRIMARY KEY (`id`),
−> CONSTRAINT `id_demo` FOREIGN KEY (`id`) REFERENCES `demo52` (`id`)
−> );

借助insert命令将一些记录插入表中-

mysql> insert into demo53 values(1,23);

mysql> insert into demo53 values(2,22);

mysql> insert into demo53 values(3,26);

使用select语句显示表中的记录-

mysql> select *from demo53;

这将产生以下输出-

+----+-----+
| id | age |
+----+-----+
|  1 | 23  |
|  2 | 22  |
|  3 | 26  |
+----+-----+
3 rows in set (0.00 sec)

以下是使用id获取用户名的查询-

mysql> SELECT name FROM demo52 t1
−> JOIN demo53 t2
−> ON t1.id=t2.id WHERE t1.id=1;

这将产生以下输出-

+------+
| name |
+------+
| John |
+------+
1 row in set (0.00 sec)