• mysql----pymsql


    一、初始

    import pymysql
    #创建连接
    cnn = pymysql.connect(host = '127.0.0.1',port=3306,user='root',passwd='qlyj1995523',db='class',charset='utf8')
    #创建游标
    cursor = cnn.cursor()
    #参数传递
    inp=input("请输入班级:")
    #执行sql,并返回影响行数
    r = cursor.execute('insert into class(caption) values(%s)',inp)
    #提交,不然无法保存数据
    cnn.commit()
    #关闭游标
    cursor.close()
    #关闭连接
    cnn.close()

    注意:必须使用参数传递,避免使用字符串拼接的形式传递,第二种方式会造成sql注入(原因:sql语句中的‘--’注释)

    传入多个参数时,使用元组的形式:cursor.execute('insert into student(gender,class_id,sname) values(%s,%s,%s)',('女',1,'kaixin'))

    加入多条数据时:cursor.executemany('insert into student(gender,class_id,sname) values(%s,%s,%s)',[('女',1,'kaixin'),('女',1,'kaixin2')])

    二、sql语句

    1、增删改

    cursor.execute('sql语句')
    连接.commit #才能保存修改

    2、查fetch

    import pymysql
    #创建连接
    cnn = pymysql.connect(host = '127.0.0.1',port=3306,user='root',passwd='qlyj1995523',db='class',charset='utf8')
    #创建游标
    cursor = cnn.cursor()
    
    r = cursor.execute('select * from student')
    
    #result= cursor.fetchall()
    result = cursor.fetchone()
    # result= cursor.fetchmany(3)
    print(result)
    #关闭游标
    cursor.close()
    #关闭连接
    cnn.close()

    注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:

    • cursor.scroll(1,mode='relative')  # 相对当前位置移动
    • cursor.scroll(2,mode='absolute') # 相对绝对位置移动

    设置字典类型

    # 游标设置为字典类型

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

    3、获取新创建数据自增ID

    new_id = cursor.lastrowid

  • 相关阅读:
    tomcat服务器宕机解决方案
    @SpringBootApplication无法被解析引入
    记一次ajax交互问题
    记一次js之button问题
    非常简单的部署脚本(JavaWeb项目)和部署项目教程
    Docker实战(十)之分布式处理与大数据平台
    Docker实战(九)之数据库应用
    Docker实战(八)之Web服务与应用
    DevExpress.Build
    批处理 批量删除当前目录及子目录下多个指定的扩展名文件
  • 原文地址:https://www.cnblogs.com/yujin123456/p/10272408.html
Copyright © 2020-2023  润新知