zoukankan      html  css  js  c++  java
  • python-操作数据库

    import pymysql
    #1、连接上mysql ip 端口号 密码 账号 数据库
    #2、建立游标
    #3、执行sql
    #4、获取结果
    #5、关闭连接、关闭游标
    #1
    conn=pymysql.connect(host='211.149.218.16',
    user='jxz',passwd='123456',#port这里一定要写int类型
    port=3306,db='jxz',charset='utf8')#charset必须写utf8,不能写utf-8
    #2
    cur=conn.cursor()#建立游标,游标可以认为是仓库管理员
    #3
    cur.execute('select * from bt_stu limit 5;')#执行sql语句
    # cur.execute('select * from bt_stu where real_name="%s;"' % name) #可以sql注入的
    # cur.execute('select * from bt_stu where real_name=%s and sex = %s',(name,sex)) #可以防止sql注入
    conn.commit() #提交
    # update delete insert 需要提交

    #4
    res=cur.fetchall()#获取sql语句执行的结果,结果为一个二维元祖,每一条数据也是一个元祖
    res=cur.fetchone()#只获取一条结果,也是一个一维元祖
    #只有一条数据,那么就用fetchone,超过一条数据那就用fetchall
    # cur.scroll(0,mode='absolute')#移动游标,到最前面
    # cur.scroll(3,mode='relative')#移动游标,相对于当前位置的

    print(res)
    #5
    cur.close()#关闭游标
    conn.close()#关闭连接



    封装一个操作数据库的方法:
    import pymysql
    def op_mysql(host,user,password,db,sql,port=3306,charset='utf8'):
    conn = pymysql.connect(host=host,user=user,
    password=password,
    port=port,
    charset=charset,db=db)
    cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
    cur.execute(sql)
    sql_start = sql[:6].upper() #取sql前6个字符串,判断它是什么类型的sql语句
    if sql_start=='SELECT' :
    res = cur.fetchall()
    else:
    conn.commit()
    res = 'ok'
    cur.close()
    conn.close()
    return res
    #批量执行sql:
    sql = 'insert into seq (blue,red,date) values (%s,%s,%s)'
    all_res = [
    ['16','01,02,03,05,09,06','2018-01-28'],
    ['15','01,02,03,05,09,06','2018-01-28'],
    ['14','01,02,03,05,09,06','2018-01-28'],
    ['13','01,02,03,05,09,06','2018-01-28'],
    ['13','01,02,03,05,09,06','2018-01-28'],
    ['13','01,02,03,05,09,06','2018-01-28'],
    ['13','01,02,03,05,09,06','2018-01-28'],
    ['13','01,02,03,05,09,06','2018-01-28'],
    ['13','01,02,03,05,09,06','2018-01-28'],
    ['13','01,02,03,05,09,06','2018-01-28'],
    ['13','01,02,03,05,09,06','2018-01-28'],
    ['13','01,02,03,05,09,06','2018-01-28'],
    ]
    cur.executemany(sql,all_res) #执行多个条件的。。
    conn.commit()





  • 相关阅读:
    markdown的使用说明
    iOS开发关于真机—App发布证书和调试证书配置
    iOS开发UI篇—屏幕适配autoResizing autoLayout和sizeClass图文详解
    iOS开发UI篇—模仿ipad版QQ空间登录界面
    iOS开发UI篇—iPad开发中得modal介绍
    iOS开发UI篇—popoverController使用注意
    iOS开发UI篇—popoverController简单介绍
    C语言:二十四 防止头文件被重复包含#ifndef #define #endif
    C语言:二十五 函数中的static例子
    C语言:C运算符优先级
  • 原文地址:https://www.cnblogs.com/hoby2017/p/8337397.html
Copyright © 2011-2022 走看看