mysql-pymysql

偶尔善良 提交于 2019-12-04 23:44:57

pymysql

### pymysql安装

>sudo pip3 install pymysql


### pymysql使用流程

1. 建立数据库连接(db = pymysql.connect(...))
2. 创建游标对象(cur = db.cursor())
3. 游标方法: cur.execute("insert ....")
4. 提交到数据库或者获取数据 : db.commit()/db.fetchall()
5. 关闭游标对象 :cur.close()
6. 断开数据库连接 :db.close()

### 常用函数

***参考代码 day16/mysql.py***
***参考代码 day16/read_db.py***
***参考代码 day16/write_db.py***

>db = pymysql.connect(参数列表)
>>host :主机地址,本地 localhost
>>port :端口号,默认3306
>>user :用户名
>>password :密码
>>database :库
>>charset :编码方式,推荐使用 utf8

> 数据库连接对象(db)的方法

>> cur = db.cursor() 返回游标对象,用于执行具体SQL命令

sql='select....%s.%s' #sql语句命令 str
cur.execute(sql命令,[%s,%s]) 单次执行SQL命令 参数是sql语句占位符变量
cur.executemany(sql命令,[iterable1,iterable2,iterable3])多次执行SQL命令 根据数据列表内元素(可迭代对象,包含占位符变量内容)次数

比如:
sql='delete from class where name=%s and age=%s'
cur.executemany(sql,[['chen',25],['lu',24]]) #执行两次 第一次删除'chen',25记录,第二次删除'lu',24记录

修改表:出错回滚至修改前
try:
cur.execute()
>> db.commit() 提交到数据库执行
except:
>> db.rollback() 回滚,用于当commit()出错是回复到原来的数据形态

>> db.close() 关闭连接


>>
>>cur.fetchone() 获取查询结果集的第一条数据,查找到返回一个元组否则返回None
>>cur.fetchmany(n) 获取前n条查找到的记录,返回结果为元组嵌套元组, ((记录1),(记录2))。
>>cur.fetchall() 获取所有查找到的记录,返回结果形式同上。
>>cur.close() 关闭游标对象


import pymysql

db = pymysql.connect(
host='', port=None,
user='', password='',
database='', charset=''
)
cur = db.cursor()
sql = ''
cur.execute(sql)
cur.fetchone()
cur.fetchmany(2)
cur.fetchall()
db.commit()
db.rollback()
cur.close()
db.close()

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!