(Mysql)跨表查询和跨库查询

您所在的位置:网站首页 mysql查询两个数据库的表 (Mysql)跨表查询和跨库查询

(Mysql)跨表查询和跨库查询

2023-12-21 03:10| 来源: 网络整理| 查看: 265

新建测试数据库:create database test_cour; 在这里插入图片描述 选择数据库:use 数据库名; 查看数据表:show tables; 在这里插入图片描述 创建数据表里面的字段(列)名:

create table 表名( //列名 字符格式 约束 //注意末尾加逗号,最后一列末尾除外 uid int(32) primary key auto_increment, //primary key 定义这个字段为主键。 //auto_increment 定义这个字段为自动增长,即如果INSERT时不赋值,则自动加1 uname varchar(32) , upassword varchar(32) );

在这里插入图片描述 查看表结构:desc user; 在这里插入图片描述 写入内容在数据表中:insert into user(表名)values(‘1’,‘adc’,‘root’); 查看数据表数据:select * from 表名; 在这里插入图片描述 因为我的uid已经有自增的属性,也可以这样不填入内容 insert into user values(null,‘def’,‘admin’); 在这里插入图片描述 再新建一个数据表:student 注:not null 不允许为空;comment是备注信息。 在这里插入图片描述 利用:show full columns from student;查看表的整体情况它可以查看到字段的备注信息 在这里插入图片描述 向student表填入数据:insert into 表名 (‘字段1内容’,‘字段2内容’,‘字段3内容’); 在这里插入图片描述

跨表查询 select 表1列名,表2列名 from 表1,表2 where 条件; lg:select uname,sname from user,student where uid=1 and sid=2; 在这里插入图片描述利用join来联合多表查询 inner join:代表选择的是两个表的交集部分。 left join:代表选择的是前面一个表的全部,即使右表没有对应匹配的记录,右表不足的地方用NULL填充 right join:代表选择的是后面一个表的全部,即使左表没有对应匹配的记录,左表不足的地方用NULL填充 插入一些新的数据在两个表中,以便区分这三个查询。 在这里插入图片描述 select 表1列名,表2列名 from 表1 inner/left/right join 表2 on 条件; lg:select uname,sname from user inner join student on uid=sid; 在这里插入图片描述 lg:select uname,sname from user left join student on uid=sid;在这里插入图片描述 lg:select uname,sname from user right join student on uid=sid; 在这里插入图片描述 跨库查询

其实和跨表查询差不多就在数据表前面加上数据库名 再新建一个数据库,数据库里面新建数据表,表里填入数据。 在这里插入图片描述 在这里插入图片描述

select * from 数据库1.表1,数据库2.表2 where 条件; lg: select * from test1_cour.username,test_cour.user where nid=uid; 在这里插入图片描述 2.利用join来联合多表查询。只举一例。和上面相差不远 select * from 数据库名1.数据表名1 inner join 数据库名2.数据表名2 on uid=nid; lg:select * from test_cour.user inner join test1_cour.username on uid=nid; 在这里插入图片描述


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3