Python操作Mysql

作者: duandaoke | 来源:发表于2018-05-25 10:16 被阅读0次

    新建一个配置文件,就命名为conf.ini,可以写各种配置信息,不过都指明节点(文件格式要求还是较严格的):

    [app_info]
    DATABASE=test
    USER=app
    PASSWORD=123456
    HOST=172.17.1.1
    PORT=3306
    

    同目录下新建文件db.py,精悍的代码如下,不解释:

    # -*-coding:utf-8 -*-
    
    import MySQLdb   #首先必须装这两个包
    import ConfigParser
    
    cf=ConfigParser.ConfigParser()
    cf.read("conf.ini")
    
    DATABASE=cf.get("app_info","DATABASE")
    USER=cf.get("app_info","USER")
    PASSWORD=cf.get("app_info","PASSWORD")
    HOST=cf.get("app_info","HOST")
    PORT=cf.get("app_info","PORT")
    
    def mysql(sql):
        try:
            conn=MySQLdb.connect(host=HOST,user=USER,passwd=PASSWORD,db=DATABASE,port=PORT)
            cur = conn.cursor()
            cur.execute(sql)
            rows = cur.fetchall()
            conn.commit()  #这个对于增删改是必须的,否则事务没提交执行不成功
            cur.close()
            conn.close()
            return rows
        except MySQLdb.Error,e:
            print "Mysql Error %d: %s" % (e.args[0], e.args[1])
    

    上面是封装了操作数据库的方法,只需提供一个sql语句,CRUD均可操作。接着上面的代码写:

    def operation():
        #查询
        select = mysql('select * from test')
    
        #插入
        '''
        插入这个地方有2点需要注意:
        1.插入某几列如下指定,插入全部可以不指定列,但必须后面插入的值要按顺序
        2.注意下面的type列两边有反斜点,这是因为type在我这个数据库里有个表也叫这个,或者可以把它叫关键字,不加反斜点插入会失败
        3.这没好说的,呵呵,数字占位符用%d,字符串用%s,且字符串占位符必须用双引号括起来
        '''
        insert = mysql('insert into test (name,number,`type`) values("%s",%d,"%s")'%('jzhou',100,'VIP'))
    
        #更新
        mysql('update test set number=%d where name="%s"'%(99,'jzhou'))
    
        #删除
        delete = mysql('delete from test where number = %d and `type`="%s"'%(100,'jzhou'))
    
        return select #我返回这个是为了下面发送邮件用的,顺便增加个发送邮件的功能
    

    相关文章

      网友评论

        本文标题:Python操作Mysql

        本文链接:https://www.haomeiwen.com/subject/bdjyjftx.html