python操作数据库

经过一番折腾终于解决了python3操作数据库,也走了不少弯路,我将自己的心得记录下来,也许能帮到正在查找问题的你。

注意:python版本问题,python2.x与python3.x操作数据库的区别:python2使用模块为MySqldb,而在python3中不支持MySqldb了,但是也可以使用一个whl的二进制文件实现https://www.jianshu.com/p/c1dbdca5c921,但是不建议这么做,显得麻烦,还浪费时间。python3版本用pymysql模块就可以了。

详细的pymysql模块操作方法如下:

"""
pymysql.connect()参数说明:(连接数据库时需要添加的参数)
host(str): MySQL服务器地址
port(int): MySQL服务器端口号
user(str): 用户名
passwd(str): 密码
db(str): 数据库名称
charset(str): 连接编码

connect()对象支持的方法:
cursor() 使用该连接创建并返回游标
commit() 提交当前事务
rollback() 回滚当前事务
close() 关闭连接

cursor对象支持的方法:
execute(op) 执行一个数据库的查询命令
fetchone() 取得结果集的下一行
fetchmany(size) 获取结果集的下几行
fetchall() 获取结果集中的所有行
rowcount() 返回数据条数或影响行数
close() 关闭游标对象
"""
import pymysql

# 连接数据库连接
conn = pymysql.connect(host = "192.168.44.158",
user = "root",
passwd = "MyNewPass789"
db = "hanwo",
port = 3306,
charset = "utf8")

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = conn.cursor()

#输入查询语句,注意:这里输入后显示的是高亮状态其实并没有错误


sql = 'select * from hanwo_articlecategories'
# 使用 execute()  方法执行 SQL 查询

cursor.execute(sql)

for i in cursor.fetchall():
print(i)
print('共查询到:', cursor.rowcount, '条数据。')


# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print(data)

# 关闭游标
cursor.close()


# 关闭数据库连接
conn.close()

 

posted @ 2019-06-10 10:58  东岳刘三哥  阅读(286)  评论(0编辑  收藏  举报