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

    一、mysql模块:pymysql

    链接数据库需要的信息:ip port user password db

    1、注意:

    连接数据库,port必须是int型,字符编码是utf8,不能是utf-8,password必须是字符串,db是选择数据库,加上autocommit=True,每次修改数据库就不用写conn.commit()

    2、步骤:

      (1)建立连接:      

    conn=pymysql.connect(host='118.22.3.21',user='nn','port=3306,db='student',password='123456',charset='utf8',autocommit=Ture)  

      (2)建立游标:执行SQL

    # cur=conn.cursor()   #游标类型默认是元组
    cur=conn.cursor(pymysql.cursors.DictCursor)
    #用pymysql.cursors.DictCursor  游标类型返回类型是字典,多条结果时,返回的是二维字典

      (3)执行:先execute(),再fetchall()    

    sql="insert app_student ( `name`, `sex`, `age`, `addr`, `grade`, `phone`, `gold`) values ( 'hanmin', '男', '18', '河南省济源市北海大道32号', '天蝎座', '18611229999', '100');"
    sql2="select * from app_student where name='hanmin'"
    print(cur.execute(sql2))   # #execute()只能执行语句,不能获取结果
    print(cur.fetchall)#只是获取结果,取到所有的结果,结果类型是list
    print(cur.fetmany(3)) #从返回结果中取几条
    print(cur.fetchone())  #,ur.fetchone(),只取一条返回结果。返回是数组或字典,如果可以确定返回结果只有1个的时候,就用fetchone(),使用fetchone()先注释掉fetchall,否则会取不到

      (4)提交:

    conn.commit()  #如果有修改数据库的话,需要commit一下,但是如果在连接数据库时autocommit=True,就无需手动提交

      (5)关闭连接

    cur.close()  #先关游标
    conn.close()   #再关连接。使用完数据库一定要断开连接,不然会占数据库

    二、操作数据库的函数,可以直接拿来使用

    import pymysql
    def op_mysql(host,user,password,db,sql,port=3306,many_tag=False):
        conn=pymysql.connect(host=host,user=user,password=password,db=db,port=port,charset='utf8',autocommit=True)
        cur=conn.cursor(pymysql.cursors.DictCursor)
        cur.execute(sql)
        if many_tag:
            result=cur.fetchall()
        else:
            result=cur.fetchone()
    
        cur.close()
        conn.close()
  • 相关阅读:
    apply 和 call 方法详解【转载】
    npm无法安装node-sass的解决方法
    rem
    创建和存储 cookie
    webpack学习(一):webpack的安装和命令行
    gulp常用的插件
    移动前端开发之viewport的深入理解
    JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序
    JavaSE中Collection集合框架学习笔记(2)——拒绝重复内容的Set和支持队列操作的Queue
    JavaSE中Collection集合框架学习笔记(1)——具有索引的List
  • 原文地址:https://www.cnblogs.com/hancece/p/11089076.html
Copyright © 2011-2022 走看看