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()