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

    操作mysql的步骤:

    1、建立数据库链接

    2、在链接上建一个游标

    3、执行sql

    4、关闭游标、数据库链接

    e.g:

    import pymysql
    ip = 'any_ip'
    port = 3336
    passwd = '123456'
    user = 'python'
    db = 'test'
    conn = pymysql.Connect(host=ip,user=user,passwd=passwd,port =port,db =db,charset = 'utf8')
    #建立数据库链接 cur
    = conn.cursor(cursor=pymysql.cursors.DictCursor)#指定游标的类型是字典 conn.cursor()默认的类型是元祖 sql1 = 'select * from duguanglong' sql = 'insert into duguanglong(id,name,sex) VALUES(10,"iii","nv")' cur.excute(sql1) print(cur.fetchall)#获取mysql的所有执行结果返回一个列表,fetchone:返回一个字典,只获取第一条数据,如果多次执行就一次往下取 如果是insert/update/del语句就必须commit一下才能执行
    #conn.commit
    cur.close()#关闭游标 conn.close()#关闭链接

     下面写一个操作mysql的函数:

    import pymysql
    def Opertion_mysql(host,user,passwd,db,sql,port=3336,charset='utf8')
      conn = pymysql.Connect(host =host,user=user,passwd=passwd,db=db,port=port,charset=charset )
      cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
      cur.excute(sql)
      if sql.startswith('select'):
          res = cur.fetchone()#
      else:
          conn.commit()
          return  8888#随机定义一个返回值
      cur.close()
      conn.close()
      return res
    #cur.fetch()   他一直返回一个二位的list,不管指定了深了类型的游标(不指定就是元祖 ,制定Diction就是list)
    #cur.fetch 返回字典,且只返回一条数据
      
    if __name__ = '__main__':
      sql1 = 'select * from duguanglong limit 3'
      sql2 ="update duguanglong set name = 'shuaige' where id = 5"
      sql3 ="delete from duguanglong where id =5"
      s =Operation_mysql(host='any_host',user='python',passwd='123456',db='test',sql=sql1,port=3336)
      print(s)
     
  • 相关阅读:
    AOJ.866 飞越原野 (三维BFS)
    UVA.129 Krypton Factor (搜索+暴力)
    UVA.10986 Fractions Again (经典暴力)
    UVA.10305 Maximum Product (暴力)
    UVA.725 Division (暴力)
    HDU.3342 Legal or Not (拓扑排序 TopSort)
    HDU.2647 Reward(拓扑排序 TopSort)
    13 成都
    15 沈阳
    14 鞍山
  • 原文地址:https://www.cnblogs.com/lingxia/p/7552361.html
Copyright © 2011-2022 走看看