首页 > 其他分享 >多表查询 可视化软件Navicat

多表查询 可视化软件Navicat

时间:2022-11-28 18:25:51浏览次数:26  
标签:多表 表名 查询 可视化 select sql Navicat 连接 字段名

今日内容总结

多表查询的两种方法

#方式一:连表操作 
	1.inner join	内连接
    select * from 表1 inner join 表2 on 连接部分
    只连接两张表的共有部分
    
 	2.left join		左连接
    select * from 表1 left join 表2 on 连接部分
    以左表为基准 展示左表所有的数据 如果没有对应项用NULL填充
    
    3.right join	右连接
    select * from 表1 right join 表2 on 连接部分
    以右表为基准 展示右表所有的数据 如果没有对应的用NULL填充
    
    4.union		    全连接
    select * from 表1 left join 表2 on 连接部分
  	union
  	select * from 表1 right join 表2 on 连接部分;
   	以左右表为基准 展示所有的数据 各自没有的全部NULL填充
'''
当需要连接的表不再是两张而是更多的时候
	我们编写的SQL代码所得到结果可以视为一张新的表 可以将已经连接的两张表作为一张表去和别的表建立连接
'''
#方式二:子查询
	将一条SQL语句用括号括起来当成另外一条SQL语句的查询条件
    子查询类似于我们日常生活中解决问题的方式>>>:分布操作
    
'''
很多时候多表查询需要结合实际情况判断用哪种 更多时候甚至时相互配合
'''

小知识点补充说明

#concat与concat_ws
	concat用于分组之前的字段拼接操作
   	select conact(字段名1,'中间可插入符号',字段名2) from 表名;
  	
    concat_ws用于拼接多个字段并且中间的连接符要一致
    select concat_ws('符号',字段名1,字段名2,字段名3) from 表名;
#exists
	sql1 exists sql2
    sql2有结果的情况下才会执行sql1 否则不执行sql1 返回空数据
#表相关SQL补充
	1.修改表名
	alter table 表名 rename 新表名;
    
    2.添加字段
  	alter table	表名 add 字段名 字段类型(数字) 约束条件;
    '''
    在约束条件后面加上 after 已有字段 可选择插入字段的位置
    在约束条件后面加上 first 可以将字段移至最前
    '''
    
    3.修改字段
    alter table 表名 change 旧字段 新字段 字段类型(数字) 约束条件
    alter table 表名 modify 字段名 新字段类型(数字) 约束条件;
    
    4.删除字段
    alter table 表名 drop 字段名

可视化软件Navicat

第三方开发的用来充当数据库客户端的简单快捷的操作界面
	无论第三方软件底层的本质还是sql 类似于的软件还有许多但navicat是最出名的
    
#常用操作
	创建库、表、记录、外键
    逆向数据库到模型、模型创建
    新建查询可以编写sql语句并自带提示功能
    sql语句注释语法
    --、/**/、#
    运行 转储sql文件

多表查询练习题

1.查询所有的课程的名称以及对应的任课老师姓名
2.查询平均成绩大于八十分的同学的姓名和平均成绩
3.查询没有报名李平老师课的学生姓名
4.查询没有同时选修物理课程和体育课程的学生姓名

思路分享
--1.查询所有的课程的名称以及对应的任课老师姓名
	#1.先确定需要用到几张表>>>课程表 教师表
 	#2.预览表中的数据 做到心中有数
 	#3.确定多表查询的思路 连表 子查询 混合操作
--2.查询平均成绩大于八十的同学的姓名和平均成绩
	#1.先确定需要需要用到几张表>>>学生表 分数表
	#2.预览表中的数据
 	#3.根据已知条件80分 作为切入点 分数表
 	#4.求出每个学生的平均成绩 按照学生的id分组 然后使用avg求出即可
	#5.筛选出平均成绩低于八十的
 	#6.确定最后需要几张表>>>需要两张表 所以用连表更加合适
--3.查询没有报名李平老师课的学生
	#1.先确定需要用到几张表>>>老师表 课程表 分数表 学生表
 	#2.预览每张表的数据
 	#3.确定思路 思路1:正向筛选 思路2:筛选所有报了李平老师课程的学生id然后取反即可
--4.查询没有同时选修物理课程和体育课程的学生姓名
	#1.先确定需要的表>>>学生表 分数表 课程表
	#2.预览表数据
 	#3.根据给出的条件确定起手的表
 	#4.根据物理和体育筛选课程id
 	#5.根据课程id筛选出所有跟物理 体育有关的学生id
 	#6.统计每个学生报了的课程数 筛选出等于1的
	#7.我们有了学生id所以只用子查询查询学生姓名即可

python操作MySQL

pymysql模块(需要下载)
	pip3 install pymysql

import pymysql

#1.连接Mysql服务端
conn = pymysql.connect(
	host='127.0.0.1',
    port=3306,
    user='root'
    password='',
    db = '库名'
    charset='utf8md4'
)
# 2.产生游标对象
cursor = conn.coursor(cursor=pymysql.cursors.Dictcursor) #不写就是列表包元组 写了就是字典 指代性更强
#3.编写sql语句
sql = 'select * from score;'
#4.发送sql语句
affect_rows = cursor.excute(sql)  # execute有返回值 接收的是sql语句影响的行数
#5.获取sql语句执行之后的结果
res = currsor.fetchall()
print(res)

pymysql补充说明

#1.获取数据
	fetchall()	获取所有的结果
 	fetchone() 	获取结果集的第一个数据
    fetchmany()  获取指定数量的结果集
    ps:注意三者都有类似于文件光标移动的特性
    
    cursor.scroll(1,'relative')  # 基于当前位置往后移动
    cursor.scroll(0,'absolute')  # 基于数据的开头往后移动
    
#2.增删改查
	autocommit=True		# 针对增删改 可添加至配置 (自动确认)
    conn.commit()		# 针对增删改 需要二次确认 (代码确认)

标签:多表,表名,查询,可视化,select,sql,Navicat,连接,字段名
From: https://www.cnblogs.com/xiaochenxiangchangpang/p/16932959.html

相关文章

  • MySQL数据库:8、多表查询的方法与思路
    目录一、多表查询思路数据准备1、笛卡尔积1、1.代码实践1、2.笛卡尔积进阶操作2、连表操作2、1.内连接2、2.左连接2、3.右连接2、4.全连接3、子查询3、1.子查询代码实践一......
  • MySQL多表查询及pymysql简单使用
    目录多表查询的两种方法小知识点补充说明可视化软件Navicat多表查询练习题python操作MySQLpymysql补充说明多表查询的两种方法方式一:连表操作innerjoin内连接 selec......
  • 智慧型可视化综合管理平台,全方位打造数字孪生城市
    随着人工智能、大数据、物联网、云计算、区块链等信息技术的快速发展,智慧化管理正在成为城市运营的全新方式。北京深圳等一些一线城市已经率先开始城市运营数字化升级的工......
  • 知识图谱可视化
    人物关系知识图谱一、背景将结构化数据通过关系预处理程序处理为图数据库可以查询的数据,示例是将其中一部分(人物关系数据)可视化表示。二、用到的技术技术点:图数据库Neo4j,d3.......
  • Navicat下载及无限试用
    Navicat下载及无限试用Navicat官网下载对于个人用户来说,我们可以采取免费试用和注册表重置试用的方法去免费试用Navicat。清除注册表这里可以选择手动或脚本自动清除......
  • SpringSecurity多表验证
    在开始之前我想感叹一句,技术久了不回头看看真的会忘记的,这次公司让我重新开发一个程序,项目架构为单体多模块开发,其中有个需求就是需要不同用户表进行登录,且不同表的用户名......
  • 共享单车数据可视化分析|附代码数据
    随着智能手机的普及和手机用户的激增,共享单车作为城市交通系统的一个重要组成部分,以绿色环保、便捷高效、经济环保为特征蓬勃发展作为城市共享交通系统的一个重要组成部分,以......
  • 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
    ......
  • 10个实用的数据可视化的图表总结
    用于深入了解数据的一些独特的数据可视化技术可视化是一种方便的观察数据的方式,可以一目了然地了解数据块。我们经常使用柱状图、直方图、饼图、箱图、热图、散点图、线状......
  • 车间工厂看板还搞不定,数据可视化包教包会
    在智能工厂的建设过程中,为了让每条生产线的生产进度和状态更加清晰,经常需要将生产信息情况显示在电视看板上,称为智能工厂-车间数据可视化大屏方案。根据工厂和车间的大小,......