#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()