mysql取多个表的数据,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、付费专栏及课程。

余额充值