首页 > 数据库 >MySQL补充知识及pymysql基础使用

MySQL补充知识及pymysql基础使用

时间:2022-11-28 21:58:55浏览次数:50  
标签:多表 SQL 知识 pymysql 查询 cursor 字段 MySQL

昨日内容回顾

  • 数据查询关键字

    • where 后跟多种条件,支持逻辑运算符,支持模糊查找(使用like关键字)
    • group by 按照指定字段对数据进行分组,可以使用聚合函数筛选数据
    • having 对分组后的数据进行再次筛选
    • distinct 筛选出指定字段中不重复的数据值
    • order by 按照指定字段对数据进行排序,支持多条件筛选
    • limit 展示指定数量的数据条目
    • regexp 根据正则表达式筛选数据
  • 多表查询思路

    多表查询时,如果直接对多表的数据展示会得到表的笛卡尔积,手动指定对应关系可得到指定结果。

今日内容概要

  • 多表查询的关键字
  • SQL语句关键字补充
  • 可视化软件Navicat
  • 多表查询实操方式
  • python操作MySQL
  • pymysql常见方法

今日内容详细

多表查询的关键字

多表查询时需要实用join on关键字,常见的有:

select * from 表1 inner join 表2 on 表1.字段1=表2.字段2; # 拼接表1与表2,字段1与字段2对应

select * from 表1 left join 表2 on 表1.字段1=表2.字段2;

select * from 表1 right join 表2 on 表1.字段1=表2.字段2;

使用inner join会自动匹配两表共有的数据,舍弃其他数据,left/right join会以表1为基准匹配所有数据,表2中没有可对应的数据时,使用null填充。

SQL语句关键字补充

concat 连接多个字段,类似于字符拼接的join。

concat_ws 以同一字符连接多个字段。

add 添加新字段,after在已有字段后添加,first添加在表最开始。

change 替换字段,需要指定新字段的信息。

modify 改变现有字段的类型。

可视化软件Navicat

使用可视化软件进行MySQL数据库的操作,可以省去编写SQL代码的步骤,通过简单的鼠标操作实现编辑。

多表查询实操方式

需要使用多表查询时,使用以下方式查询:

  1. 明确多表之间的相互联系,然后筛选出需要操作的表;
  2. 根据查找的目标整理查询思路,分步操作。

python操作MySQL

python操作MySQL需要使用pymysql模块。

基本操作流程为:连接MySQL服务端→生成游标对象→发送SQL指令→接收处理结果

# 1.连接MySQL服务端
conn = pymysql.connect(
    host='127.0.0.1',
    port=3306,
    user='root',
    password='123',
    db='db4_03',
    charset='utf8mb4'
)
# 2.产生游标对象
# cursor = conn.cursor()  # 括号内不填写额外参数 数据是元组 指定性不强  [(),()]
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)  # [{},{}]
# 3.编写SQL语句
# sql = 'select * from teacher;'
sql = 'select * from score;'
# 4.发送SQL语句
affect_rows = cursor.execute(sql)  # execute也有返回值 接收的是SQL语句影响的行数
print(affect_rows)
# 5.获取SQL语句执行之后的结果
res = cursor.fetchall()
print(res)

pymysql常见方法

1.获取数据
fetchall() 获取所有的结果
fetchone() 获取结果集的第一个数据
fetchmany() 获取指定数量的结果集
注意三者都有类似于文件光标移动的特性

cursor.scroll(1,'relative')  # 基于当前位置往后移动
cursor.scroll(0,'absolute')  # 基于数据的开头往后移动

2.增删改查
autocommit = True # 针对增 删 改 自动确认(直接配置)
conn. commit() # 针对 增 删 改 需要二次确认(代码确认)

标签:多表,SQL,知识,pymysql,查询,cursor,字段,MySQL
From: https://www.cnblogs.com/akazukis/p/16933737.html

相关文章

  • 多表查询的两种方法、Navicat、python操作MySQL
    1.多表查询的两种方法1.连表操作: 1.1:innerjoin:内连接,将两张表共同的部分连接起来生成一张新表。拼接顺序是把后面的表拼在前面的表,如果颠倒位置结果不同。sele......
  • python 之路 37 Navicat 可视化软件使用、 pymysql模块使用
    多表查询的两种方法方式1:连表操作innerjoin内连接select*fromempinnerjoindeponemp.dep_id=dep.id;只连接两张表中公有的数据部分le......
  • MySQL数据库:python操作MySQL
    目录python操作MySQL一、pymysql模块二、pymysql补充说明1.获取数据2.增删改查三、注册登录1.注册2.登录python操作MySQL一、pymysql模块importpymysql#连接mysql......
  • MySQL数据库基础5
    今日内容概要多表查询的两种方法小知识点补充可视化软件Navicat多表查询练习题python操作MySQL今日内容详细多表查询的两种方法方式1:连表操作 innerjoin......
  • MySQL 5
    今日内容详细多表查询的两种方法方式1:连表操作 innerjoin 内连接 select*fromempinnerjoindeponemp.dep_id=dep.id; 只连接两张表中公有的数据部分......
  • MySQl数据库:多表查询方法、MySQL补充方法
    目录一、多表查询的思路二、多表查询的两种方法1.方式一:连表查询(1)innerjoin内连接(2)leftjoin(3)rightjoin(4)union2.方式二:子查询(1)例子(2)in与notinany和in运算符的不同之处:三......
  • python基础(数据库、可视化软件Navicat、python操作MySQL)
    多表查询的两种方法数据准备:建表createtabledep(idintprimarykeyauto_increment,namevarchar(20));createtableemp(idintprimarykey......
  • MySQL基础
    目录多表查询的两种方法小知识点补充说明可视化软件Navicat多表查询练习题python操作MySQLpymysql补充说明多表查询的两种方法方式1:连表操作'''关键字innerjoin内......
  • 多表查询、Navicat、python连接MySQL
    多表查询、Navicat、python连接MySQL多表查询的两种方法方法1:连表操作innerjoin#内连接,连接两张表共有的数据部分select*fromempinnerjoindeponemp.dep_id......
  • MySQL之索引下推
    mysql索引下推前言写博客是自己对知识梳理,目前是写给自己看,算是自己学习后的作业,也是为了养成一个良好的习惯。一、什么是索引下推索引下推(indexconditionpushdo......