python語言使用MySQLdb連接數據庫並進行操作

#coding:utf-8
import MySQLdb

class connectdata:

def __init__(self,host,port,username,passwd,dbname):
    self.host=host
    self.port=port
    self.username=username
    self.passwd=passwd
    self.dbname=dbname

def getcursor(self):
    conn=MySQLdb.Connect(
                            host=self.host,
                            port=self.port,
                            user=self.username,
                            passwd=self.passwd,
                            db=self.dbname,charset='utf8')
    return conn
def createtable(self):
    self.sql='create table cl(id int(10),name varchar(10))'
    conn=self.getcursor()
    cur=conn.cursor()
    cur.execute(self.sql)

def insertdata(self):
    # self.sql='insert into cl(id,name) values(%s,%s)' #此處的%s爲佔位符,而不是格式化字符串
    # self.data=("1","changle")

    #插入多條數據用executemany
    self.sql='insert into cl(id,name) values(%s,%s)'
    self.data=[('1','cale'),('2','cll')]
    conn = self.getcursor()
    cur = conn.cursor()
    cur.executemany(self.sql,self.data)
    conn.commit()    #數據庫的存儲一類引擎爲Innodb,執行完成後需執行commit進行事務提交
    cur.close()
    conn.close()

def getdata(self):
    self.sql='select * from cl where id=%s'
    conn=self.getcursor()
    self.cur=conn.cursor()
    self.cur.execute(self.sql,(1,))
    values=self.cur.fetchone()[1] #返回第一行數據的第2個字段
    print values

if name=="main":
connd=connectdata("10.1.1.184",3306,'root','root','ipharmacare_knowledge')
connd.getdata()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章