MySql查询多个表的数据

可以直接select或者创建视图后select。

MariaDB [mysql]> CREATE DATABASE my_test;
Query OK, 1 row affected (0.08 sec)

MariaDB [mysql]> use my_test;
Database changed
MariaDB [my_test]> CREATE TABLE t1 (id int NOT NULL, name VARCHAR(20), age int);
Query OK, 0 rows affected (0.62 sec)

MariaDB [my_test]> CREATE TABLE t2 (id int NOT NULL, score int);
Query OK, 0 rows affected (0.15 sec)

MariaDB [my_test]> INSERT INTO t1 VALUES (20160101, 'Johnson', 20);
Query OK, 1 row affected (0.14 sec)

MariaDB [my_test]> INSERT INTO t1 VALUES (20160101, 'Tom', 30);
Query OK, 1 row affected (0.04 sec)

MariaDB [my_test]> SELECT * FROM t1;
+----------+---------+------+
| id       | name    | age  |
+----------+---------+------+
| 20160101 | Johnson |   20 |
| 20160101 | Tom     |   30 |
+----------+---------+------+
2 rows in set (0.00 sec)

MariaDB [my_test]> ALTER TABLE t1 ADD PRIMARY KEY (id);
ERROR 1062 (23000): Duplicate entry '20160101' for key 'PRIMARY'
MariaDB [my_test]> DELETE FROM t1 WHERE name = 'Tom';
Query OK, 1 row affected (0.07 sec)

MariaDB [my_test]> ALTER TABLE t1 ADD PRIMARY KEY (id);
Query OK, 0 rows affected (0.39 sec)
Records: 0  Duplicates: 0  Warnings: 0

MariaDB [my_test]> DESCRIBE t1;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   | PRI | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
| age   | int(11)     | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.08 sec)

MariaDB [my_test]> DESCRIBE t2;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | NO   |     | NULL    |       |
| score | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.02 sec)

MariaDB [my_test]> ALTER TABLE t2 ADD PRIMARY KEY (id);
Query OK, 0 rows affected (0.28 sec)
Records: 0  Duplicates: 0  Warnings: 0

MariaDB [my_test]> INSERT INTO t1 VALUES (20160102, 'Tom', 30);
Query OK, 1 row affected (0.04 sec)

MariaDB [my_test]> INSERT INTO t2 VALUES (20160102, 100);
Query OK, 1 row affected (0.04 sec)

MariaDB [my_test]> INSERT INTO t2 VALUES (20160101, 90);
Query OK, 1 row affected (0.05 sec)

MariaDB [my_test]> SELECT * FROM t1;
+----------+---------+------+
| id       | name    | age  |
+----------+---------+------+
| 20160101 | Johnson |   20 |
| 20160102 | Tom     |   30 |
+----------+---------+------+
2 rows in set (0.00 sec)

MariaDB [my_test]> SELECT * FROM t2;
+----------+-------+
| id       | score |
+----------+-------+
| 20160101 |    90 |
| 20160102 |  100 |
+----------+-------+
2 rows in set (0.00 sec)

MariaDB [my_test]> CREATE VIEW view_all_data AS
    -> SELECT t1.id, t1.name, t1.age, t2.score
    -> FROM (t1 INNER JOIN t2 ON t1.id = t2.id);
Query OK, 0 rows affected (0.06 sec)

MariaDB [my_test]> SELECT * FROM view_all_data;
+----------+---------+------+-------+
| id       | name    | age  | score |
+----------+---------+------+-------+
| 20160101 | Johnson |   20 |    90 |
| 20160102 | Tom     |   30 |  100 |
+----------+---------+------+-------+
2 rows in set (0.07 sec)

MariaDB [my_test]> SELECT t1.id, t1.name, t1.age, t2.score FROM t1, t2 WHERE t1.id = t2.id;
+----------+---------+------+-------+
| id       | name    | age  | score |
+----------+---------+------+-------+
| 20160101 | Johnson |   20 |    90 |
| 20160102 | Tom     |   30 |   100 |
+----------+---------+------+-------+
2 rows in set (0.00 sec)

MariaDB [my_test]>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值