zoukankan      html  css  js  c++  java
  • PyMySQL

    一、PyMySQL?

    1、概念

    PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。

    2、PyMySQL安装

    在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。使用语句:pip install pymysql安装。

    3、MySQL数据库准备

    • 首先创建一个可连接的库并拥有该库的用户名和密码以及操作权限;
    • 创建一个可供操作的表格并插入数据;
    • 在你的机子上已经安装了 PyMySQL 模块。

    4、连接数据库

     1 # 导入pymsql模块
     2 import pymysql
     3 # 连接database
     4 conn = pymysql.connect(host="127.0.0.1",port=3306,user="root",password ="123456",database="testdatase",charset="utf8")
     5 # 得到一个可以执行SQL语句的光标对象
     6 cursor = conn.cursor()
     7 # 要执行的sql语句
     8 sql = "select * from userinfo where name = %s and pwd = %s;"
     9 # 执行sql语句
    10 cursor.execute(sql,["name","pwd"])
    11 # 关闭光标对象
    12 cursor.close()
    13 # 关闭数据库连接
    14 conn.close()

    # 得到一个可以执行SQL语句并且将结果作为字典返回的游标

    cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

    二、基本操作

    1、增

    1 import pymysql
    2 conn = pymysql.connect(host="127.0.0.1",port=3306,user="root",password ="123456",database="testdb",charset="utf8")
    3 cursor = conn.cursor()
    4 sql = "insert into userinfo (name,pwd) values (%s,%s);"
    5 cursor.execute(sql,["小明",123])
    6 #  数据的提交
    7 conn.commit()
    8 cursor.close()
    9 conn.close()

    批量的增加数据:

    1 import pymysql
    2 conn = pymysql.connect(host="127.0.0.1",port=3306,user="root",password ="123456",database="day59",charset="utf8")
    3 cursor = conn.cursor()
    4 sql = "insert into userinfo (name,pwd) values (%s,%s);"
    5 data=[("小花",123),("小李",456),("小白",789)]
    6 #  批量插入数据使用executemany,data是可迭代的数据
    7 cursor.executemany(sql,data)
    8 conn.commit()
    9 cursor.close()
    10 conn.close()

    获取刚插入数据的ID:

    在提交事务之后获取刚插入数据的ID值:last_id = cursor.lastrowid.

    2、删 

       1 # 导入pymsql模块

       2 import pymysql

     3 # 连接database
     4 conn = pymysql.connect(host="127.0.0.1",port=3306,user="root",password ="123456",database="testdb",charset="utf8")
     5 #  得到一个可以执行SQL语句的光标对象
     6 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
     7 print(cursor)
     8 # 要执行的sql语句
     9 sql = "delete from userinfo where name = %s;"
    10 #  执行sql语句
    11 cursor.execute(sql,"小明")
    12 conn.commit()
    13 # 关闭光标对象
    14 cursor.close()
    15 # 关闭数据库连接
    16 conn.close()

    3、改

     1 # 导入pymsql模块
     2 import pymysql
     3 # 连接database
     4 conn = pymysql.connect(host="127.0.0.1",port=3306,user="root",password ="123456",database="testdb",charset="utf8")
     5 #  得到一个可以执行SQL语句的光标对象
     6 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
     7 print(cursor)
     8 # 要执行的sql语句
     9 sql = "update userinfo set pwd=%s where name=%s;"
    10 #  执行sql语句
    11 cursor.execute(sql,["321","小明"])
    12 conn.commit()
    13 # 关闭光标对象 14 cursor.close() 15 # 关闭数据库连接 16 conn.close()

    4、查

     1 # 导入pymsql模块
     2 import pymysql
     3 # 连接database
     4 conn = pymysql.connect(host="127.0.0.1",port=3306,user="root",password ="123456",database="testdb",charset="utf8")
     5 #  得到一个可以执行SQL语句的光标对象
     6 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
     7 print(cursor)
     8 # 要执行的sql语句
     9 sql = "select * from userinfo where name = %s;"
    10 #  执行sql语句
    11 cursor.execute(sql,["小明"])
    12 ret1 = cursor.fetchone()  # 取一条
    13 ret2 = cursor.fetchmany(3)  # 取三条
    14 ret3 = cursor.fetchall()  # 取所有
    15 cursor.scroll(1, mode="absolute")  # 绝对移动,你指哪儿 它就移到哪儿
    16 cursor.scroll(1, mode="relative")  # 相对移动, 相对它当前在的位置
    17 cursor.scroll(-1, mode="relative")  # 相对移动, 相对它当前在的位置
    18 # 关闭光标对象
    19 cursor.close()
    20 # 关闭数据库连接
    21 conn.close()
  • 相关阅读:
    二叉搜索树的平衡--AVL树和树的旋转
    nginx+keepalived高可用及双主模式
    date,datetime的对比
    reg007最新邀请码!!!
    1292
    bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?
    JS数组实际应用方法整理
    CSS3动画常用贝塞尔曲线-效果演示
    vue-cli3 配置生产-测试环境
    vue 路由知识点梳理及应用场景整理
  • 原文地址:https://www.cnblogs.com/Ming-Hui/p/8955175.html
Copyright © 2011-2022 走看看