import MySQLdb
https://www.lfd.uci.edu/~gohlke/pythonlibs/
win10 64位 python 3.8版本,
下载对应版本mysqlclient-2.0.3-cp38-cp38-win_amd64.whl(带38字样)
如果是其他版本,下载对应的版本:如3.7版本下载带37字样的文件。
pip install mysqlclient-2.0.3-cp38-cp38-win_amd64.whl
完成安装。
测试:
# Python建立了与数据的连接,其实是建立了一个MySQLdb.connect()的实例对象,或者泛泛地称之为连接对象,python就是通过连接对象和数据库对话
conn = MySQLdb.connect(host="localhost", user="root", passwd="xxxx", db="test", charset="utf8")
"""
commit():如果数据库表进行了修改,提交保存当前的数据。当然,如果此用户没有权限就作罢了,什么也不会发生。
rollback():如果有权限,就取消当前的操作,否则报错。
cursor([cursorclass]):返回连接的游标对象。通过游标执行SQL查询并检查结果。游标比连接支持更多的方法,而且可能在程序中更好用。
close():关闭连接。此后,连接对象和游标都不再可用了。
"""
# Python是通过游标执行SQL语句的。所以,连接建立之后,就要利用连接对象得到游标对象
cur = conn.cursor()
"""
名称 描述
close() 关闭游标。之后游标不可用
execute(query[,args]) 执行一条SQL语句,可以带参数
executemany(query, pseq) 对序列pseq中的每个参数执行sql语句
fetchone() 返回一条查询结果
fetchall() 返回所有查询结果
fetchmany([size]) 返回size条结果
nextset() 移动到下一个结果
scroll(value,mode='relative') 移动游标到指定行,如果mode='relative',则表示从当前所在行移动value条,如果mode='absolute',则表示从结果集的第一行移动value条
"""
cur.execute("insert into users (username,password,email) values (%s,%s,%s)",("python","123456","python@gmail.com"))
conn.commit()
print(cur.execute("select * from users;"))
lines = cur.fetchall()
for line in lines:
print(line)
conn.close()