Mysql远程跨库多表联合查询的解决⽅案1、前⾔
在数据库 testDB01中新建数据表t_student(学⽣信息)
CREATE TABLE `t_student`(
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) DEFAULT NULL COMMENT '姓名',
`gender` varchar(6) DEFAULT NULL COMMENT '性别',
`age` tinyint(4) DEFAULT NULL COMMENT '年龄',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='学⽣信息';
在数据库 testDB02中新建数据表t_student(学⽣成绩信息)
CREATE TABLE `student_score`(
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`student_id` int(11) DEFAULT NULL COMMENT '学员id',
`score` varchar(255) DEFAULT NULL COMMENT '分数',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='学⽣成绩信息';
现在需要查询统计的结果为,学员姓名、年龄、成绩
2、查看数据库是否⽀持FEDERATED,
show engines
修改数据库的配制⽂件my.ini,(我的my.ini的路径为:D:\ProgramData\MySQL\MySQL Server 5.7/my.ini),将federated添加到my.ini ⽂件中
修改完my.ini⽂件后,在开始中输⼊"服务"回车,进⼊“服务”页⾯
如下图,在“服务”页⾯,选中“MySQL57”,右键重新启动。java选开发工具还是源代码
mysql语句多表查询然后再次查看数据库是否⽀持FEDERATED,如下图,已显⽰"YES"
3、在testDB02数据库中执⾏以下脚步:
CREATE TABLE `t_student`(
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) DEFAULT NULL COMMENT '姓名',
`gender` varchar(6) DEFAULT NULL COMMENT '性别',
`age` tinyint(4) DEFAULT NULL COMMENT '年龄',
PRIMARY KEY (`id`)
) ENGINE=FEDERATED AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='学⽣信息'
CONNECTION='mysql://root:123456@127.0.0.1:3306/testDB01/t_student'
sql查询语句题目如上图,左边testdb02数据库中,选中“表”右键刷新,就可以看到testdb02数据库中多了t_student表,然后就可以在testdb02数据库中进⾏多表连接查询了
select t.name as '姓名',t.gender as '性别',s.score as '分数'
通配符工作室from student_score s,t_student t
隐藏html标签where s.student_id = t.id
4、在testdb01数据库中t_student表中添加⼀条数据,个人linux搭建网站
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论