如何连接表并从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)