zoukankan      html  css  js  c++  java
  • pymysql:python操作mysql

    pymysql:python操作mysql

    安装

    >: pip3 install pymysql
    

    增删改查

    # 选取操作的模块 pymysql
    
    # pymysql连接数据库的必要参数:主机、端口、用户名、密码、数据库
    # 注:pymysql不能提供创建数据库的服务,数据库要提前创建
    import pymysql
    
    # 1)建立数据库连接对象 conn
    # 2)通过 conn 创建操作sql的 游标对象
    # 3)编写sql交给 cursor 执行
    # 4)如果是查询,通过 cursor对象 获取结果
    # 5)操作完毕,端口操作与连接
    
    
    # 1)建立数据库连接对象 conn
    conn = pymysql.connect(user='root', passwd='root', database='oldboy')
    # conn = pymysql.connect(user='root', passwd='root', database='oldboy', autocommit=True)
    
    # 2)通过 conn 创建操作sql的 游标对象
    # 注:游标不设置参数,查询的结果就是数据元组,数据没有标识性
    # 设置pymysql.cursors.DictCursor,查询的结果是字典,key是表的字段
    cursor = conn.cursor(pymysql.cursors.DictCursor)
    
    # 3)编写sql交给 cursor 执行
    
    创建表
    # 创建表
    sql1 = 'create table t1(id int, x int, y int)'
    cursor.execute(sql1)
    
    sql2 = 'insert into t1 values(%s, %s, %s)'
    
    # 增1
    cursor.execute(sql2, (1, 10, 100))
    cursor.execute(sql2, (2, 20, 200))
    # 重点:在创建conn对象时,不设置autocommit,默认开启事务,增删改操作不会直接映射到数据库中,
    # 需要执行 conn.commit() 动作
    conn.commit()
    
    # 增多
    cursor.executemany(sql2, [(3, 30, 300), (4, 40, 400)])
    conn.commit()
    
    sql3 = 'delete from t1 where id=%s'
    cursor.execute(sql3, 4)
    conn.commit()
    
    sql4 = 'update t1 set y=666 where id=2'
    cursor.execute(sql4)
    conn.commit()
    
    sql5 = 'select * from t1'
    row = cursor.execute(sql5)  # 返回值是受影响的行
    print(row)
    
    # 4)如果是查询,通过 cursor对象 获取结果
    # fetchone() 偏移一条取出,fetchmany(n) 偏移n条取出,fetchall() 偏移剩余全部
    r1 = cursor.fetchone()
    print(r1)
    r2 = cursor.fetchone()
    print(r2)
    r3 = cursor.fetchmany(1)
    print(r3)
    r4 = cursor.fetchall()
    print(r4)
    
    # 5)操作完毕,端口操作与连接
    cursor.close()
    conn.close()
    
  • 相关阅读:
    面试题:求第K大元素(topK)[增强版]
    最详细版图解优先队列(堆)
    你知道希尔排序为什么可以打破二次时间界吗?
    图解选择排序与插入排序
    如何优化冒泡排序?
    你真的了解String吗?(修正版)
    [一起面试AI]NO.2回归问题常用的性能度量指标有哪些
    [一起面试AI]NO.1机器学习简介
    计算机网络学习笔记NO.2 物理层
    运用python实现提取文章title重命名
  • 原文地址:https://www.cnblogs.com/aden668/p/11594704.html
Copyright © 2011-2022 走看看