• python--连接数据库pymysql


    PyMySQL简介:

    PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

    Django中也可以使用PyMySQL连接MySQL数据库。

    PyMySQL 安装:

    pip install pymysql

    连接数据库:

    • 你有一个MySQL数据库,并且已经启动。
    • 你有可以连接该数据库的用户名和密码
    • 你有一个有权限操作的database
    """
    连接数据库进行数据操作
    """
    import pymysql
    
    # 打开数据库连接
    db = pymysql.connect(host="你的数据库地址",
                         port=3306,
                         user="用户名",
                         passwd="密码",
                         db="数据库名",
                         charset="utf8")
    
    # 查询操作
    # 使用cursor()方法创建一个游标对象cur
    cur = db.cursor()
    # 使用execute()方法执行SQL查询
    sql_add = "select * from orders where type=2"
    cur.execute(sql_add)
    # 使用fetchall()方法获取查询结果
    data = cur.fetchall()
    print(data)
    # 关闭数据库连接
    db.close()
    # 元祖取值
    print(data[0])
    print(data[0][1])
    # 数据大时单独取出对应的值
    for i in data:
        if "2651" in i:
            print(i[1])
    
    # 删除操作
    # 使用cursor()方法创建一个游标对象cur
    cur = db.cursor()
    # 使用execute()方法执行SQL增删改查操作
    sql_delete = "delete from orders  where type=2 limit 1"
    cur.execute(sql_delete)
    # 删除数据或者修改数据时一定使用db.commit()提交
    db.commit()
    db.close()
    
    
    # 删除功能后下次跑自动化代码没有数据报错,解决办法
    # 得到一个可以执行SQL语句的光标对象
    cursor = db.cursor()
    
    # 方法一:
    # 修改数据的SQL语句
    sql = "UPDATE USER1 SET age=%s WHERE name=%s;"
    username = "Alex"
    age = 80
    try:
        # 执行SQL语句
        cursor.execute(sql, [age, username])
        # 提交事务
        db.commit()
    except Exception as e:
        # 有异常,回滚事务
        db.rollback()
    cursor.close()
    db.close()
    
    # 方法二:
    def insert_db(sql_insert):
        # 使用cursor()方法创建一个游标对象cur
        cur = db.cursor()
        # 判断数据是否存在
        try:
            cur.execute(sql_insert)
            # 提交
            db.commit()
        except Exception as e:
            print("错误信息:%s" % str(e))
            # 错误回滚
            db.rollback()
        finally:
            db.close()
    if __name__ == '__main__':
        sql_add = "insert student(id,name,age) values (10022,'张三',20)"
        insert_db(sql_add)
  • 相关阅读:
    [LeetCode] 500. Keyboard Row 键盘行
    [LeetCode] 502. IPO 上市
    [LeetCode] 495. Teemo Attacking 提莫攻击
    [LeetCode] 655. Print Binary Tree 打印二叉树
    [LeetCode] 654. Maximum Binary Tree 最大二叉树
    [LeetCode] 637. Average of Levels in Binary Tree 二叉树的层平均值
    Dubbo 在maven项目中的应用
    前后端分离springmvc和RESTful理解
    一个相对通用的JSON响应结构,其中包含两部分:元数据与返回值
    MAC OS查看端口占用情况及杀死进程
  • 原文地址:https://www.cnblogs.com/yitao326/p/10557606.html
Copyright © 2020-2023  润新知