此部分是《Python接SQL-极简》中5、6、7部分的详述。
核心流程:连接数据库——写SQL语句——调用cursor.execute(sql)执行——调用cursor.fetchall()获取结果——cursor.close()关闭
pymysql中的方法:
序号 | 方法 | 说明 |
---|---|---|
1 | begin() | 开始 |
2 | commit() | 提交 |
3 | connect() | 建立连接 |
4 | cursor(cursor=none) | 创建游标 |
5 | ping(reconnect=true) | 检查连接状态 |
6 | rollback() | 回滚 |
7 | close() | 关闭连接 |
8 | select_db(db) | 选择数据库 |
9 | show_warnings() | 查看warning |
5.创建连接
db=pymysql.connect(host,port,user,passwd,db,charset)
connect的参数对应表
序号 | 参数 | 说明 | 备注 |
---|---|---|---|
1 | host | 服务器地址 | |
2 | port | 端口号 | |
3 | user | 用户名 | |
4 | passwd | 密码 | |
5 | db | 数据库 | |
6 | charset | 连接字符集 | 如utf8 |
6.执行查询和获取结果
6.1获取cursor(cursor:游标对象(即临时创建的对象),执行查询和获取结果)
with db.cursor() as dbc: #此处()不能省
6.2执行增删改查的操作
sql='正常SQL语句'
dbc.execute(sql)#执行查询
results = dbc.fetchall()#获取剩下的所有行
序号 | 方法 | 说明 |
---|---|---|
1 | execute() | 执行查询命令 |
2 | fetchone() | 获取结果集下一行 |
3 | fetchmany(size) | 获取结果集的下size行 |
4 | fetchall() | 获取结果集剩下的所有行 |
5 | rowcount | 检查连接状态 |
6 | rollback() | 最近一次execute返回数据/影响的行数 |
7 | close() | 关闭游标 |
6.3处理数据
6.4关闭cursor
dbc.close()
7.关闭连接
db.close()
- 按照这个流程可以成功执行SQL查询,但流程理的不是特别顺,不能做到让像我一样的初学者看一眼就明白,后期优化。
网友评论