pymysql笔记

2 篇文章 0 订阅
1 篇文章 0 订阅

python笔记

一、基础操作

1.数据库连接

# 数据库连接
dbcon = {
    'host': 'localhost',
    'user': 'root',
    'password': '147258',
    'database': 'flask_study',
    'port': 3306
}
# db = pymysql.connect(host='localhost', user='root', password='147258', database='flask_study', port=3306)
db = pymysql.connect(**dbcon)

​ 数据连接有两种方式,创建字典变量连接或者直接在connect函数写上参数。

2.数据操作

​ 操作数据需要创建游标,创建游标之后写上需要操作的sql语句,用游标中的execute()函数进行sql语句执行。

# 创建游标对象
cursor = db.cursor()
sql = '''insert into testDk(`name`,`sex`) values('dd', '男');'''
# 执行sql语句 会返回受影响的行数并没有改变数据库数据
cursor.execute(sql) 
# 提交数据  只有提交数据后才会改变数据库数据
db.commit()
# 事务回滚,取消commit的操作
db.rollback()

二、操作基础

3.查询结果

# fetchall() 	查询所有数据
# fetchone() 	查询一条数据,执行多次的话依次返回受影响的行数
# fetchmany(x)	查询X条数据
cursor.fetchall()
# 查看表的信息
desc = cursor.description
# (('id', 3, None, 20, 20, 0, False), ('name', 253, None, 80, 80, 0, False), ('sex', 253, None, 16, 16, 0, False))
#第一个元素的第一个子元素是字段名称,查询表的字段可以用这个,遍历输出。

4.增删改

sql = '''insert into table values(%s,%s)'''
# 第一种
cursor.execute(sql, ('aaa', 'bbb')) 
# 第二种 执行多次
cursor.executemany(sql, [('aaa','bbb'), ('ccc', 'ddd'), ('eee', 'fff')])

5.创建

# 字段名称用`键,非单引号', 设置自增,新增数据时,表指明新增数据的字段,或者不指明但values()里面要写上所有字段的数据。

6.效率

使用10000次execute和commit耗时:12.96秒
使用execute执行10000次,commit1次耗时:0.94秒
使用executemany执行1次,commit1次耗时:0.05秒
很明显,1次缓冲多条命令,效率会高于分次提交,同时executemany方法会进一步提升效率
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值