ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

python-连接数据库pymysql

2021-08-19 08:34:26  阅读:195  来源: 互联网

标签:python 数据库 游标 pymysql cursor SQL pip conn


8.1.相关软件包安装

  • Navicat12

  • phpStudy_64

  • pymysql的使用:pip install pymysql

  • 说明: 安装命令使用 pip install 第三方包名 卸载命令使用 pip uninstall 第三方包 大家现在使用的虚拟机已经安装了这个第三方包,可以使用: pip show pymysql 命令查看第三方包的信息 pip3 list 查看使用pip命令安装的第三方包列表

  • 方法一:

    1. window+r ---》cmd

    2. pip install pymysql

  • 方法二:

    1. 打开DataGrip》file》settings

    2. project:demo》》python interpreter

    3. pip》》+》》pymysql

    4. install package

8.2.PyMySQL五步走

  • 第一步:导入pymysql模块

  • 第二步:创建连接

  • 第三步:获取游标

    • 数据库游标: 默认指向要操作数据表的第一条记录

    • 根据需求调整游标的位置,添加数据,把游标放在最后一行

  • 第四步:执行SQL语句

  • 第五步:关闭连接(关闭游标、关闭数据库连接)

  • 事务的相关理解

    • 回顾事务处理:把所有的SQL语句当做一个整体,要么全部成功,要么全部失败 事务处理就是为了保证这些SQL操作要么全部成功,如果有一条执行失败,则回滚到原始状态 开启事务处理 => 编写SQL语句 => 确认无误 => 提交到数据库conn.commit() 提交事务,真正的写入到数据库里面

# 1- 导入pymysql模块
import pymysql
# 2- 创建连接
conn=pymysql.connect(
  host='localhost',
  port=3306,
  user='root',
  passwd='root',
  database='db_itheima',
  charset='utf8'
)
# 3- 获取游标
cursor=conn.cursor()
# 4- 执行SQL语句
try:
  sql1 = "insert into tb_student values(null,'关羽',18,'湖北省武汉市')"
  sql2 = "update tb_student set name='张三' where ID=6;   "
  sql3='delete from tb_student where id = 4;'
  sql4='select * from tb_student'
  result=cursor.execute(sql4)
  # print(cursor.fetchall())
  for row in cursor.fetchall():
      print(row)
  conn.commit()
except Exception as e:
  print(e)
  conn.rollback()
# 5- 关闭连接(关闭游标、关闭数据库连接)
cursor.close()
conn.close()
  • cursor=conn.cursor()

  • result=cursor.execute(sql)

  • print(cursor.fetchall())

  • conn.commit()

  • conn.rollback()

  • cursor.fetchone() : 从查询结果中获取第一条记录

  • cursor.fetchall() : 获取查询结果中的所有数据((),(),())

标签:python,数据库,游标,pymysql,cursor,SQL,pip,conn
来源: https://www.cnblogs.com/2020-0309/p/15159703.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有