mysql两个表之间字段内容的替换问题
表1-----------------------------------------------id姓名年龄地址1小张0北京2小丽0上海3小花0云南4小刚0四川5小陈0...
表1
-----------------------------------------------
id 姓名 年龄 地址
1 小张 0 北京
2 小丽 0 上海
3 小花 0 云南
4 小刚 0 四川
5 小陈 0 重庆
-----------------------------------------------
表2
-----------------------------------------------
id 姓名 年龄 地址
1 小白 15 北京
2 大侠 48 上海
3 小花 28 云南
4 小刚 28 四川
5 小陈 24 重庆
小丽 24 天津
----------------------------------------------
表1和表2的记录数和Id顺序都不同
我想做的是将表2中姓名对应的年龄填到表1相姓名对应的年龄当中
请高手能做个解答,非常感谢
在线等 展开
-----------------------------------------------
id 姓名 年龄 地址
1 小张 0 北京
2 小丽 0 上海
3 小花 0 云南
4 小刚 0 四川
5 小陈 0 重庆
-----------------------------------------------
表2
-----------------------------------------------
id 姓名 年龄 地址
1 小白 15 北京
2 大侠 48 上海
3 小花 28 云南
4 小刚 28 四川
5 小陈 24 重庆
小丽 24 天津
----------------------------------------------
表1和表2的记录数和Id顺序都不同
我想做的是将表2中姓名对应的年龄填到表1相姓名对应的年龄当中
请高手能做个解答,非常感谢
在线等 展开
1个回答
展开全部
首先是测试表/数据
mysql> select * from t1;
+------+------+------+---------+
| id | name | age | address |
+------+------+------+---------+
| 1 | 小张 | 0 | 北京 |
| 2 | 小丽 | 0 | 上海 |
| 3 | 小花 | 0 | 云南 |
| 4 | 小刚 | 0 | 四川 |
| 5 | 小陈 | 0 | 重庆 |
+------+------+------+---------+
5 rows in set (0.00 sec)
mysql> select * from t2;
+------+------+------+---------+
| id | name | age | address |
+------+------+------+---------+
| 1 | 小白 | 15 | 北京 |
| 2 | 大侠 | 48 | 上海 |
| 3 | 小花 | 28 | 云南 |
| 4 | 小刚 | 28 | 四川 |
| 5 | 小陈 | 24 | 重庆 |
| 6 | 小丽 | 24 | 天津 |
+------+------+------+---------+
6 rows in set (0.02 sec)
查询一下
mysql> SELECT
-> t1.name AS t1Name,
-> t1.age AS t1Age,
-> t2.name AS t2Name,
-> t2.age AS t2Age
-> FROM
-> t1, t2
-> WHERE
-> t1.name = t2.name;
+--------+-------+--------+-------+
| t1Name | t1Age | t2Name | t2Age |
+--------+-------+--------+-------+
| 小花 | 0 | 小花 | 28 |
| 小刚 | 0 | 小刚 | 28 |
| 小陈 | 0 | 小陈 | 24 |
| 小丽 | 0 | 小丽 | 24 |
+--------+-------+--------+-------+
4 rows in set (0.00 sec)
建立一个 VIEW
mysql> CREATE VIEW temp_view AS
-> SELECT
-> t1.name AS t1Name,
-> t1.age AS t1Age,
-> t2.name AS t2Name,
-> t2.age AS t2Age
-> FROM
-> t1, t2
-> WHERE
-> t1.name = t2.name;
Query OK, 0 rows affected (0.03 sec)
更新数据
mysql> UPDATE temp_view SET t1Age = t2Age;
Query OK, 4 rows affected (0.03 sec)
Rows matched: 4 Changed: 4 Warnings: 0
检查结果
mysql> select * from t1;
+------+------+------+---------+
| id | name | age | address |
+------+------+------+---------+
| 1 | 小张 | 0 | 北京 |
| 2 | 小丽 | 24 | 上海 |
| 3 | 小花 | 28 | 云南 |
| 4 | 小刚 | 28 | 四川 |
| 5 | 小陈 | 24 | 重庆 |
+------+------+------+---------+
5 rows in set (0.00 sec)
mysql> select * from t1;
+------+------+------+---------+
| id | name | age | address |
+------+------+------+---------+
| 1 | 小张 | 0 | 北京 |
| 2 | 小丽 | 0 | 上海 |
| 3 | 小花 | 0 | 云南 |
| 4 | 小刚 | 0 | 四川 |
| 5 | 小陈 | 0 | 重庆 |
+------+------+------+---------+
5 rows in set (0.00 sec)
mysql> select * from t2;
+------+------+------+---------+
| id | name | age | address |
+------+------+------+---------+
| 1 | 小白 | 15 | 北京 |
| 2 | 大侠 | 48 | 上海 |
| 3 | 小花 | 28 | 云南 |
| 4 | 小刚 | 28 | 四川 |
| 5 | 小陈 | 24 | 重庆 |
| 6 | 小丽 | 24 | 天津 |
+------+------+------+---------+
6 rows in set (0.02 sec)
查询一下
mysql> SELECT
-> t1.name AS t1Name,
-> t1.age AS t1Age,
-> t2.name AS t2Name,
-> t2.age AS t2Age
-> FROM
-> t1, t2
-> WHERE
-> t1.name = t2.name;
+--------+-------+--------+-------+
| t1Name | t1Age | t2Name | t2Age |
+--------+-------+--------+-------+
| 小花 | 0 | 小花 | 28 |
| 小刚 | 0 | 小刚 | 28 |
| 小陈 | 0 | 小陈 | 24 |
| 小丽 | 0 | 小丽 | 24 |
+--------+-------+--------+-------+
4 rows in set (0.00 sec)
建立一个 VIEW
mysql> CREATE VIEW temp_view AS
-> SELECT
-> t1.name AS t1Name,
-> t1.age AS t1Age,
-> t2.name AS t2Name,
-> t2.age AS t2Age
-> FROM
-> t1, t2
-> WHERE
-> t1.name = t2.name;
Query OK, 0 rows affected (0.03 sec)
更新数据
mysql> UPDATE temp_view SET t1Age = t2Age;
Query OK, 4 rows affected (0.03 sec)
Rows matched: 4 Changed: 4 Warnings: 0
检查结果
mysql> select * from t1;
+------+------+------+---------+
| id | name | age | address |
+------+------+------+---------+
| 1 | 小张 | 0 | 北京 |
| 2 | 小丽 | 24 | 上海 |
| 3 | 小花 | 28 | 云南 |
| 4 | 小刚 | 28 | 四川 |
| 5 | 小陈 | 24 | 重庆 |
+------+------+------+---------+
5 rows in set (0.00 sec)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询