如何连接表并从 MySQL 数据库中获取值?
mysqlmysqli database
要连接表,请使用 MySQL 中的 JOIN 概念。首先,让我们创建两个表。
让我们创建第一个表 −
mysql> CREATE TABLE `demo52` ( −> `id` INT NOT NULL, −> `name` VARCHAR(20) NOT NULL, −> PRIMARY KEY (`id`) −> ); Query OK, 0 rows affected (1.19 sec)
使用 insert 命令向表中插入一些记录 −
mysql> insert into demo52 values(1,'John'); Query OK, 1 row affected (0.17 sec) mysql> insert into demo52 values(2,'David'); Query OK, 1 row affected (0.10 sec) mysql> insert into demo52 values(3,'Mike'); Query OK, 1 row affected (0.13 sec)
使用 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`) −> ); Query OK, 0 rows affected (0.57 sec)
使用 insert 命令向表中插入一些记录 −
mysql> insert into demo53 values(1,23); Query OK, 1 row affected (0.08 sec) mysql> insert into demo53 values(2,22); Query OK, 1 row affected (0.15 sec) mysql> insert into demo53 values(3,26); Query OK, 1 row affected (0.13 sec)
使用 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)