python操作mysql数据库
安装包
- 安装mysql驱动,连接mysql服务器,这里选择pymysql包
pip install pymysql
常用方法
-
cur.execute(query, args=None),返回影响的行数。args可以是tuple, list or dict,如果要传递参数需要使用占位符%s将sql语句里面的value替换,然后再传递参数。 -
cur.rowcount,返回影响的行数。 -
cur.fetchall(),一次性返回所有符合的行,tuple类型,并且每一个元素也是tuple类型 -
cur.fetchone(),基于上一次指针位置返回下一条数据,tuple类型,相当于将fetchall()中的数据逐条输出,直到返回空。
查询数据库
# 导入MySQL驱动
import pymysql
# 连接mysql服务器上的某数据库。默认host:127.0.0.1
conn = pymysql.connect(host=host, user=user, password=password, database=database)
# 新建游标指针
cur = conn.cursor()
# 执行mysql语句,返回影响的行数(cur.rowcount)
cur.execute('SELECT * FROM user WHERE id=%s', (10000,))
# 获取所有查询结果,cur.fetchall()返回找到的所有行,再次执行fetchall()会返回空元组
cur.fetchall() # 例如查询到的数据只有一条时。 ((10000, '哈哈哈', 28, datetime.datetime(2020, 4, 15, 5, 18, 0),)
# 逐条获取查询结果,cur.fetchone()返回指针指向的当前行
cur.fetchone() # 例如查询到的数据只有一条时。(10000, '哈哈哈', 28, datetime.datetime(2020, 4, 15, 5, 18, 0)
# 关闭链接
cur.close() # close cursor, The result will be freed.
conn.close() # Disconnect from the MySQL server
更新mysql数据库
# 更新mysql数据库,会将查找到的所有符合条件的语句都修改
cur.execute('UPDATE user SET fullname=%s WHERE nickname=%s', ('test', 'm1234'))
# 提交事务
cur.execute('commit') # 效果同conn.commit(),会将所有语句提交













网友评论