Python连接MySQL数据库

PyMySQL是一个纯Python写的MySQL客户端,它的目标是替代MySQLdb,可以在CPython、PyPy、IronPython和Jython环境下运行。
  • commit() 提交
  • rollback() 回滚
cursor用来执行命令的方法:
  • execute(self, query, args) 执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数
  • executemany(self, query, args) 执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数
  • nextset(self) 移动到下一个结果集
cursor用来接收返回值的方法:
  • fetchall(self) 接收全部的返回结果行.
  • fetchone(self) 返回一条结果行.
  • rowcount 这是一个只读属性,并返回执行execute() 方法后影响的行数。
 
 
import pymysql
conn = pymysql.connect{
    'host': '127.0.0.1',
    'port': 3306,
    'user': 'root',
    'passwd': 'root',
    'charset':'utf8mb4',
     'cursorclass':pymysql.cursors.DictCursor  #默认查询结果都是返回tuple,通过使用不同的游标可以改变输出格式,这里传递一个cursors.DictCursor参数返回字段类型
}
 
cursor = conn.cursor()  # 使用cursor()方法获取操作游标
 
# 查询一条记录
result = cursor.fetchone()
print (result)
print 'id: %s,name: %s' %(result[0],result[1])
 
# 查询多条记录
results = cursor.fetchmany(5)
for r in results:
print (r)
 
# 更新记录
cursor.execute('UPDATE %s SET name = "%s" WHERE id = %s' %(TABLE_NAME,'Jack',1))
 
# 如果没有设置自动提交事务,则这里需要手动提交一次
 
# 关闭游标连接
cursor.close()
# 关闭数据库连接
conn.close()
 
 
 
实例:
import  pymysql
class Con_DB(object):
    def __init__(self):
        self.conn=pymysql.connect(
            host='172.16.16.5',
            port=3306,
            user='bb',
            passwd='123456',
            db='bbtest',
            charset='utf8',
        )
        self.cursor=self.conn.cursor()
    def excute(self,sql):
        self.cursor.execute(sql)
        self.conn.commit()
        self.cursor.execute(sql)
        data=self.cursor.fetchall()
        return data
 
 
    def close(self):
        if self.cursor and self.conn:
            self.cursor.close()
            self.conn.close()
        return True
if __name__=='__main__':
    db = Con_DB()
    sql = "SELECT Fenquiry_sku_id FROM t_bb_enquiry_sku where Fenquiry_id='IIS157113425004906'"
    sql_data=db.excute(sql)
    print(sql_data)
原文地址:https://www.cnblogs.com/tuxiaomeng/p/10918469.html