zoukankan      html  css  js  c++  java
  • pymysql的使用

    一: 安装pymysql

    pip3 install pymysql

    二: 查询操作

    import pymysql
    
    # 打开数据库连接
    db = pymysql.connect(host='localhost', user='root', password='123456', db='userinfo', port=3306)
    
    # 使用cursor()方法获取操作游标
    cur = db.cursor()
    
    #1, 查询操作
    # 编写sql,查询语句 s_info 对应的表名
    sql = "select * from s_info"
    try:
        cur.execute(sql)    # 执行sql语句
    
        # results = cur.fetchall()
    
        # 获取一行
        # result_one = cur.fetchone()
        # print(result_one)
    
        # 获取多个
        result_many = cur.fetchmany(3)
        print(result_many)
        # print(results) # 返回所有的数据一元组套元组的形式
        # print("id", "name", "pwd")
        # #遍历结果
        # for row in results:
        #     id = row[0]
        #     name = row[1]
        #     password = row[2]
        #     print(id, name, password)
    except Exception as e:
        raise e
    finally:
        db.close()
    
    查询
    View Code

    在fetchone示例中,在获取行数据的时候,可以理解开始的时候,有一个行指针指着第一行的上方,获取一行,它就向下移动一行,所以当行指针到最后一行的时候,就不能再获取到行的内容,所以我们可以使用如下方法来移动行指针:

    cursor.scroll(1,mode='relative')  # 相对当前位置移动
    cursor.scroll(2,mode='absolute') # 相对绝对位置移动
    第一个值为移动的行数,整数为向下移动,负数为向上移动,mode指定了是相对当前位置移动,还是相对于首行移动
    # 1.Python实现用户登录
    # 2.Mysql保存数据
    
    import pymysql
    
    # 1.连接
    conn = pymysql.connect(host='localhost', port=3306, user='root', password='', db='db8', charset='utf8')
    
    
    # 2.创建游标
    cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
    
    sql = 'select * from userinfo'
    cursor.execute(sql)
    
    
    # 查询第一行的数据
    row = cursor.fetchone()
    print(row) # (1, 'mjj', '123')
    
    # 查询第二行数据
    row = cursor.fetchone() # (3, '张三', '110')
    print(row)
    
    cursor.scroll(-1,mode='relative') #设置之后,光标相对于当前位置往前移动了一行,所以打印的结果为第二行的数据
    row = cursor.fetchone() 
    print(row)
    
    cursor.scroll(0,mode='absolute') #设置之后,光标相对于首行没有任何变化,所以打印的结果为第一行数据
    row = cursor.fetchone() 
    print(row)
    
    # 4.关闭游标
    cursor.close()
    
    # 5.关闭连接
    conn.close()
    
    #结果如下
    
    {'id': 1, 'username': 'mjj', 'pwd': '123'}
    {'id': 3, 'username': '张三', 'pwd': '110'}
    {'id': 3, 'username': '张三', 'pwd': '110'}
    {'id': 1, 'username': 'mjj', 'pwd': '123'}
    View Code

    三: 插入操作

    import pymysql
    
    #2 插入操作
    db = pymysql.connect(host='localhost', user='root', password='123456', port=3306, db='userinfo')
    
    # 使用游标
    cur = db.cursor()
    
    sql_insert =  "insert into s_info(name, pwd) values('egon', '456')"
    
    try:
        cur.execute(sql_insert)
    
        db.commit()
    except Exception as e:
        db.rollback()
        raise e
    finally:
        cur.close()
        db.close()
    
    插入数据
    View Code

    四: 修改操作

    import pymysql
    
    # 获取数据库
    db = pymysql.connect(host='localhost', user='root', password='123456', db='userinfo', port=3306)
    
    # 获取游标
    cur = db.cursor()
    
    # sql改语句
    sql = "update s_info set name=%s where id=7"
    try:
        cur.execute(sql, "egon")
        db.commit()
    except Exception as e:
        raise e
    finally:
        cur.close()
        db.close()
    
    改操作
    View Code

    五: 删除操作

    import pymysql
    
    db = pymysql.connect(host='localhost', user='root', password='123456', port=3306, db='userinfo')
    
    cur = db.cursor()
    
    sql = "delete from s_info where id=1"
    
    try:
        cur.execute(sql)
        db.commit()
    except Exception as e:
        raise e
    finally:
        cur.close()
        db.close()
    View Code
  • 相关阅读:
    windows 安装 python _ flask
    open-falcon 前端代码在windows上运行
    windows下 安装python_ldap MySQL-python
    rocketmq集群、配置详解和常用命令
    docker仓库管理(9)
    docker镜像管理和dockerfile详解(8)
    docker学习路线图
    docker组件如何协作(7)
    docker核心组件(6)
    docker镜像下载加速(5)
  • 原文地址:https://www.cnblogs.com/zxmbky/p/9581092.html
Copyright © 2011-2022 走看看