pymysql模块

  pymysql是一个连接mysql数据库的第三方模块,可作为连接mysql数据库的客户端,对数据库进行增删改查操作

# 下载第三方模块:pip3 install pymysql

  如何连接数据库并对数据库进行操作:

import pymysql # 连接mysql数据库的模块

# 1.连接数据库
"""
需要传入的参数:
  host=None,
  user=None,
  password="",
  database=None,
  port=0,
  charset='',
  autocommit=True
"""
client = pymysql.connect(
  host="127.0.0.1",
  port=3306,
  user="root",
  password="123",
  database="test",
  charset='utf8', # 一定不要写utf-8
  # 针对增删改操作,执行重要程度高,若要执行,必须要有一步确认的操作,autocommit=True默认对数据库进行增删改操作时自动提交至数据库;若此处不写,在下面代码 cursor_obj.execute(sql) 后面手动需要添加 client.commit()操作
  autocommit=True
)
# print(client)  # 打印结果:<pymysql.connections.Connection object at 0x00000000028A8B88>


# 2.获取游标对象。游标:可以用来提交sql命令
# pymysql.cursors.DictCursor:将查询出来的结果制作成字典的形式返回
cursor_obj = client.cursor(pymysql.cursors.DictCursor)

# 3.通过execute可以提交sql语句(增删改查都可以,可以使用try来捕获异常)
try:
  # 1.1)查数据
  sql = "select * from books" # 不用写分号

  # 1.2)插入数据
  # sql = "insert into student(id, name, sex, birthday, class) values('110', '张芳', '男', '1946', '95030')"  # 不用写分号

  # 2)提交sql语句
  res = cursor_obj.execute(sql)
  # print(res)  # execute返回的是当前sql语句所影响的行数
  # client.commit()  # 上面连接数据库的代码处已写了autocommit=True,此处注释掉

  # 3.1)提交后,通过cursor_obj对象.fetchall()  获取所有查询到的结果
  data = cursor_obj.fetchall()
  for i in data:
    print(i)

  # 3.2).fetchone()  只获取查询结果中的一条
  # print(cursor_obj.fetchone())

  # 3.3).fetchmany() 可以指定获取几条数据
  # print(cursor_obj.fetchmany(4))  # 获取四条数据

except Exception as e:
  print(e)

# 关闭游标
cursor_obj.close()
# 关闭客户端连接
client.close()

  执行结果(以下为我本地数据库的数据):

{'BookID': 11425, 'BookTitle': 'Python', 'Copyright': 1984}
{'BookID': 12786, 'BookTitle': 'Java', 'Copyright': 1934}
{'BookID': 13331, 'BookTitle': 'MySQL', 'Copyright': 1919}
{'BookID': 14356, 'BookTitle': 'PHP', 'Copyright': 1966}
{'BookID': 15729, 'BookTitle': 'PERL', 'Copyright': 1932}
{'BookID': 16284, 'BookTitle': 'Oracle', 'Copyright': 1996}

pymysql模块使用简介与示例

以上就是pymysql模块使用简介与示例的详细内容,更多关于pymysql模块的资料请关注其它相关文章!

标签:
pymysql模块,python,pymysql模块

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com

评论“pymysql模块使用简介与示例”

暂无“pymysql模块使用简介与示例”评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?