首页 > 数据库 >MySQL——使用Python操作MySQL

MySQL——使用Python操作MySQL

时间:2024-08-09 13:53:37浏览次数:18  
标签:insert name Python MySQL 游标 cursor sql 操作 conn

文章目录


在Python中操作MySQL数据库时,我们使用较多的库是 PyMySQL,如果你选择使用 PyMySQL库,那么首先需要通过pip安装它。pip install pymysql命令就是用来安装PyMySQL的。

安装PyMySQL

  • 1.打开你的命令行工具(如cmd、PowerShell、Terminal等)。

  • 2.输入以下命令来安装PyMySQL:

    pip install pymysql
    

    如果你使用的是Python 3(这是大多数现代系统上的默认情况),并且系统中同时安装了Python 2,你可能需要使用pip3而不是pip:

    pip3 install pymysql
    

使用PyMySQL操作MySQL

  • 注意:这里我们的MySQL环境是装在虚拟机中的,连接的也是虚拟机中的MySQl环境,因此需要在操作之前打开我们的虚拟机
  • 直接上代码,在代码中进行讲解
import pymysql

# 1、创建连接
# 需要传入一些参数:
# host -->  所在的主机名或者是域名或者是ip地址
# port -->  运行的端口号 --> 可以在虚拟机中进行查看指令如下(一般端口号都为3306)
#       ps -aux | grep mysql  找到MySQL运行的进程号
#       netstat -tnlp | grep mysql 的进程号 找到MySQL的端口
# user --> 用户名
# passwd --> 密码
# db --> 指定要操作的数据库
# 例如:
# 连接的变量名自定义
conn = pymysql.connect(host='master', port=3306, user='root', passwd='123456',db='Test')

# 2、创建游标cursor,游标名称自定义 -->  用来执行后面的命令
cur = conn.cursor()
# cur.execute("use stu_test") # 切换数据库

# 3、准备好你要执行的SQL语句,一般用变量接收
selerc_sql = 'select * from Test.Student'

# 4、用游标中的execute方法执行sql语句
cur.execute(selerc_sql)

# 5、如果有返回值 可以通过游标中的一些方法进行获取
print(cur.fetchone())  # 获取一条数据

print(cur.fetchall())  # 获取所有数据

print(cur.fetchmany(5))  # 获取指定大小的数据数据

# 6、关闭游标,关闭连接
cur.close()
conn.close()
  • 创建表并导入数据
import pymysql

if __name__ == '__main__':
	# 连接数据库
    conn = pymysql.connect(host='192.168.147.100',user='root',password='123456',port=3306,db='Test')
    # 建立游标
    cursor = conn.cursor()

    # 创建一个表名为’aa‘的表
    create_sql = 'create table aa (id int,name varchar(255))'
    # 用游标执行sql语句
    cursor.execute(create_sql)
	
	# 插入数据
    insert_sql = 'insert into aa values(1,"zxs")'
	# 用游标执行插入语句
    cursor.execute(insert_sql)

    # 执行执行插入语句时 需要提交事务 注意这里的方法是在连接数据库时,定义的变量中
    conn.commit()
	
	# 关闭游标、关闭连接
    cursor.close()
    conn.close()

注意:当我们写完代码,执行成功后,只能看到执行成功的提示,并看不到具体的表和数据,需要在虚拟机中进行查看,或者是在与虚拟机连接后的Navicat中进行查看。

  • 插入数据—外界传入数据、传入多条数据
import pymysql

if __name__ == '__main__':
    conn = pymysql.connect(host='192.168.147.100',user='root',password='123456',port=3306,db='Test')
    cursor = conn.cursor()

    # 外界传入数据
   	name_a = 'cyy'
   	insert_sql = f'insert into aa values(0,"{name_a}")'
    
    cursor.execute(insert_sql)
    # 提交事务
    conn.commit()
###########################################################
    
    # 写入多条数据 
    name_list = [('cyy1'), ('zc1'), ('cyy2')]
    # 这里第一个参数可以写 0 或者 null 是因为在创建表的时候将第一列设置成了自增列,若不是自增列还需自己给一个值
    # 因此传入数据时需要根据你表的结构传入
    # 所有的值接受都是%s, 还不需要引号
    insert_sql = 'insert into aa values(0,%s)' 
    # 用 executemany 方法执行
    cursor.executemany(insert_sql, name_list)
    # 提交事务的过程可能会有数据插入不成功的时候,可以使用try Exception 的方法回滚事务
    try:
         conn.commit()
    except Exception as e:
         # 回滚事务
         conn.rollback()
#################################################################	
	
	# 表中有多列时,需传入多个数据也是一样的做法,有多少个数据,就写几个%s,一一对应即可
	# 这里’bb‘表中有 id name age 这三列 且id列为自增列
    name_list = [('cyy1', 23), ('zc1', 21), ('cyy2', 1)]
    insert_sql = 'insert into bb values(0,%s,%s)'   
    cursor.executemany(insert_sql, name_list)
    try:
        conn.commit()
    except Exception as e:
        # 回滚事务
        conn.rollback()
##############################################################
    cursor.close()
    conn.close()

标签:insert,name,Python,MySQL,游标,cursor,sql,操作,conn
From: https://blog.csdn.net/weixin_73504499/article/details/141036044

相关文章

  • Python按条件删除Excel表格数据的方法
      本文介绍基于Python语言,读取Excel表格文件,基于我们给定的规则,对其中的数据加以筛选,将不在指定数据范围内的数据剔除,保留符合我们需要的数据的方法。  首先,我们来明确一下本文的具体需求。现有一个Excel表格文件(在本文中我们就以.csv格式的文件为例),如下图所示。  其中,Ex......
  • Python 提取出SQL语句中Where的值的方法
    1.方法一:使用sqlparse库的方法为了提取SQL语句中WHERE子句的值,我们可以利用Python的sqlparse库,这是一个专门用于解析SQL语句的库。以下是一个示例代码,演示如何使用sqlparse来提取WHERE子句中的条件。首先,确保安装了sqlparse库。如果未安装,可以使用pip安装:bash复制代码pipins......
  • 12-python函数的传参——形参、实参、装包 *args和**kwargs
    函数的参数1形参和实参函数的参数:在定义函数时,可以再函数名后()中定义数量不等的形参,注意可以有也可以没有,可有一个也可有多个,多个形参之间用逗号隔开形参(形式参数):定义形参就相当于在函数内部声明了变量,但是并不赋值实参(实际参数):在函数定义时指定了形参,在调用的时......
  • 《信息学奥赛一本通编程启蒙》3031-3050(Scratch、C、C++、python)
    3031:练7.3买图书(C、C++、python)3031:练7.3买图书(C、C++、python)-CSDN博客3032:练7.4梯形面积(C、C++、python)3032:练7.4梯形面积(C、C++、python)-CSDN博客3033:【例8.1】人民币支付(Scratch、C、C++、python)3033:【例8.1】人民币支付(Scratch、C、C++、python)-CSDN博客3......
  • Python酷库之旅-第三方库Pandas(074)
    目录一、用法精讲301、pandas.Series.dt.components属性301-1、语法301-2、参数301-3、功能301-4、返回值301-5、说明301-6、用法301-6-1、数据准备301-6-2、代码示例301-6-3、结果输出302、pandas.Series.dt.to_pytimedelta方法302-1、语法302-2、参数302-3、......
  • python-docx 将文档根据标题二拆分为多个docx文件
    python-docx将文档根据标题二拆分为多个docx文件时隔好久,又开始搞文档了感觉搞来搞去还不如手动复制粘贴得了……只是文本内容–>简单文本内容自定义样式保持不变(有点难度)提取文档中的图片、表格(简单)按照顺序还原图片、表格到文档中,并且不改变样式(累了,毁灭吧)题注、......
  • 【Python版本】气象局天气数据采集
    分析寻找数据url经过详细的分析,发现网络请求中有一个get请求是返回全国天气最新数据。接口是这个:https://weather.cma.cn/api/map/weather/1?t=1723174351500查看请求的类型从请求头信息中发现:连接+请求方式是get查看数据从这里我们可以看到返回数据的时间于更新时......
  • mysql
    01MySQL数据库服务概述(1)课程知识章节说明⽬前在互联⽹的实际应⽤中,各个企业都会⽐较关注⾃⾝⽹站的数据信息,既要保证数据信息的安全性,同时也要保证数据存储读取效率并且在特殊的场景下,还要对存储的数据信息进⾏检索和分析;因此数据库服务业务已经在各⾏各业应⽤⾮常的⼴泛......
  • 【赵渝强老师】MySQL访问控制的实现
      MySQL访问控制实际上由两个功能模块共同完成的:一个模块是用户管理模块;而另一个是访问控制模块。用户管理模块主要是验证用户的合法性,是否能够访问MySQL数据库;而访问控制模块则需要根据权限系统表中存储的权限信息来决定用户用户什么样的权限。  视频讲解如下:MySQL......
  • open3d python 法线估计
    测试效果废话Open3D中的法线估计是一个重要的功能,它可以帮助用户了解三维点云中每个点的局部表面方向。以下是对Open3D法线估计的详细解释:一、法线估计的基本原理法线估计通常基于局部表面拟合的方法。在点云数据中,每个点的局部邻域可以视为一个平面或曲面的近似。通......