python数据库(pymysql)访问
程序员文章站
2022-03-28 17:51:31
pymysql官网:https://www.python.org/dev/peps/pep-0249/安装:pip install pymysqlimport pymysql #导入模块pymysql.apilevel #api等级pymysql.threadsafety #线程安全级别pymysql.paramstyle='qmark' #设置参数格式pymysql.paramstyle...
pymysql官网:https://www.python.org/dev/peps/pep-0249/
安装:
pip install pymysql
导入模块
import pymysql
api等级
pymysql.apilevel
2.0字符串常量,表示支持的DB API版本
线程安全级别
pymysql.threadsafety
级别 | 含义 |
---|---|
0 | 线程可能无法共享模块。 |
1 | 线程可以共享模块,但不能共享连接。 |
2 | 线程可以共享模块和连接。 |
3 | 线程可以共享模块,连接和游标。 |
参数格式
pymysql.paramstyle='qmark' #设置参数格式
pymysql.paramstyle #输出参数格式--默认:'pyformat'
名称 | 含义 |
---|---|
qmark | 问号样式,例如:WHERE name=? |
numeric | 数字的位置样式,例如:WHERE name=:1 |
named | 命名样式,例如:name=:name |
format | ANSI C printf 格式代码,例如:WHERE name=%s |
pyformat | Python扩展格式代码,例如:WHERE name=%(name)s |
获取连接对象
db= pymysql.connect('localhost', user='xx', password='xx')
cursor= db.cursor() #获取游标
sql(insert/delete/select/update)语句
try:
sql= '''insert into employee(
first_name, last_name, age, sex, income)
values(%s,%s,%s,%s,%s)'''
#执行语句
cursor.execute(sql , ('mac','mohan','20','m','20000'))
#提交到数据库执行
db.commit() #事务提交
print('success')
except Exception as e:
db.rollback()
print('fail:', e)
db.close()
封装:with -> 容器
#定义上下文管理器 ,连接后自动关闭连接
import contextlib
@contextlib.contextmanager
def mysql(host='localhost', port=3306, user='root', passwd='root',db='bigdata',charset='utf8'):
conn= pymysql.connect(host= host, port= port, user= user, passwd= passwd, db= db, charset= charset)
cursor= conn.cursor()
try:
yield cursor #生产 yield
finally:
conn.commit()
cursor.close()
conn.close()
实例
with mysql() as cursor:
rows= cursor.execute('select * from employee')
results = cursor.fetchall()
for row in results:
fname= row[0]
lname= row[1]
age= row[2]
sex= row[3]
income= row[4]
print('fname=%s,lname=%s,age=%d,sex=%s,income=%d' % (fname, lname, age, sex, income))
更多操作移步官网,以上内容仅此参考
本文地址:https://blog.csdn.net/light_bulb/article/details/107674151
上一篇: 浅谈Redis主从复制以及主从复制原理
下一篇: TIM如何取消屏蔽?
推荐阅读
-
Python中几种属性访问的区别与用法详解
-
python使用Berkeley DB数据库实例
-
使用python的pandas库读取csv文件保存至mysql数据库
-
Python 使用Python远程连接并操作InfluxDB数据库
-
对python插入数据库和生成插入sql的示例讲解
-
Python实现备份EC2的重要文件和MySQL数据库到S3
-
mysql数据库无法被其他ip访问的解决方法
-
Python数据库连接池DBUtils
-
Mybaits 源码解析 (五)----- 面试源码系列:Mapper接口底层原理(为什么Mapper不用写实现类就能访问到数据库?)
-
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法