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()
  • 相关阅读:
    python安装mysqldb
    2月8日
    python反射机制
    python备忘
    Nginx+Tomcat动静分离及Nginx优化
    yum挂在iso文件yum源配置
    升级apache
    解决编译apache出现的问题:configure: error: APR not found . Please read the documentation
    学习网站总结
    面试题:登录页面测试
  • 原文地址:https://www.cnblogs.com/hancece/p/11089076.html
Copyright © 2011-2022 走看看