python -- peewee处理数据库连接
目前,实现了的Database子类有三个;SqliteDatabase、MySQLDatabase、PostgresqlDatabase
- class SqliteDatabase(Database)
-
“sqlite3”模块驱动
- class MySQLDatabase(Database)
-
“MySQLdb” 模块驱动
- class PostgresqlDatabase(Database)
-
“psycopg2” 模块驱动
例如mysql数据库连接,新建文件mysql_db.py:(其它两种数据库连接类似)
from peewee import * database = MySQLDatabase(database, **kwargs)
database.connect()
print database.get_conn() class BaseModel(Model):
class Meta:
database = database
class TB1(BaseModel):
id = BigIntegerField(primary_key=True) class Meta:
db_table = 'tb1'
其中database为mysql的Default Schema(默认数据库),kwargs为连接数据库的信息
格式如下:
{'host': 'vpca-1.vm.elenet.me', 'password': '123456', 'port': 9707, 'user': 'vpca_user'}
ps: 可以运行mysql_db.py,测试数据库是否连接成功,结果如下:
<pymysql.connections.Connection object at 0x104c5d710>
然后新建一个操作数据库的python文件 db_utils.py
def select_sql(table, sql):
query_result = table.get(sql)
return query_result def select_all(table, sql):
query_result = table.select().where(sql)
return query_result def excute_sql(table, sql):
query_result = table.raw(sql)
return query_result.execute() def raw_sql(table, sql):
query = table.raw(sql)
return query
接下来,我们就可以对数据库进行操作了,新建一个test_db.py文件,如下所示:
import unittest
from db_utils import excute_sql
from mysql_db import TB1
class TestDB(unittest.TestCase):
def setUp(self):
self.select1 = "SELECT id FROM tb1 LIMIT 1" def test_select_sql(self):
data = excute_sql(TB1, self.select1)
for re in data:
print re.id
运行test_db.py,可以打印出数据库查询结果,其它数据库操作均可使用该方法
python -- peewee处理数据库连接的更多相关文章
- [Python]peewee使用经验
peewee 使用经验 本文使用案例是基于 python2.7 实现 以下内容均为个人使用 peewee 的经验和遇到的坑,不会涉及过多的基本操作.所以,没有使用过 peewee,可以先阅读文档 正确 ...
- [Python]peewee 使用经验
peewee 使用经验 本文使用案例是基于 python2.7 实现 以下内容均为个人使用 peewee 的经验和遇到的坑,不会涉及过多的基本操作.所以,没有使用过 peewee,可以先阅读文档 正确 ...
- Python实现Mysql数据库连接池
python连接Mysql数据库: python编程中可以使用MySQLdb进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接mysql数据库请求时,都是独立的去请求访问,相当浪费资源,而且访 ...
- 【笔记】python的sqlalchemy数据库连接池原理的说明
sqlalchemy数据库连接池的使用方式是延迟初始化,就是说一开始你调用create_engine(...)后创建的那个数据库池是空的,你后面通过session.connection()或者engi ...
- 基于python实现Oracle数据库连接查询操作
使用python语言连接Oracle数据库配置 #coding:utf-8 import cx_Oracle as oracle db=oracle.connect('root/123456@192. ...
- python peewee.ImproperlyConfigured: MySQLdb or PyMySQL must be installed.
最近在学习Python,打算先看两个在线教程,再在github上找几个开源的项目练习一下,在学到“被解放的姜戈”时遇到django同步数据库时无法执行的错误,记录一下. 错误现象: 执行python ...
- python三种数据库连接池方式
psycopg2.pool – Connections pooling Creating new PostgreSQL connections can be an expensive operatio ...
- python+selenium之数据库连接
首先要安装Python和MySQL的连接工具 下载地址如下: https://pypi.python.org/pypi/PyMySQL https://github.com/PyMySQL/PyMyS ...
- 吴裕雄--天生自然python学习笔记:python 建立 Firebase 数据库连接
Python 程序通过 python-firebase 包可以存取 Firebase 数据库. 使用 python-firebase 包 首先必须安装 python-firebase 包,安装方法如下 ...
随机推荐
- redux、immutablejs和mobx性能对比(三)
四.我的结论 通过第三部分的数据数据分析,我觉得我们可以得到以下结论: 无论是在开发环境还是测试环下页面的首次加载速度结果都是:redux>immutablejs>mobx,但是他们之间的 ...
- css 动画中 ease,seae-in,ease-in-out,ease-out,效果区别
linear 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1)).(匀速) ease 规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0. ...
- 001profile条件化创建bean
01.类级别条件创建 @Configuration @Profile("dev") public class Aclass{}---->影响整个类,包括类的注解.开发环境,类 ...
- 《Linux命令行与Shell脚本编程大全第2版》读书笔记
公司说不准用云笔记了,吓得我赶紧把笔记贴到博客上先..... 近3年前的了,只有一半的章节,后面的没空记录了.... 第1章 可以cat /proc/meminfo文件来观察Linux系统上虚拟内存的 ...
- Hololens开发笔记:UDP接收数据
Hololens的应用需要与其他设备通信的时候,UDP是比较方便的一种方式,Unity3d 2017.3 C#开发的时候可以用Windows.Networking.Sockets.DatagramSo ...
- 样式 bootstrap purecss Amaze UI 推荐
Bootstrap 简洁.直观.强悍的前端开发框架,让web开发更迅速.简单. Bootstrap,来自 Twitter,是目前很受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAV ...
- vue知识day1
HTML语义.CSS:样式 js:行为 jQuery:简化了js操作 boostrap :框架 ,以类方式展现 react:facebook 公司的产品 angular:谷歌公司产品 vue:作者尤雨 ...
- linux命令大全比较完整
转:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是 ...
- JDBC连接数据库反射实现O/R映射
测试preparedStatement public void testPreparedStatement(){ Connection connection=null; PreparedStateme ...
- 执行系统命令,subprocess使用说明
os.system('ls -l') #只执行命令,不能将结果赋予变量 os.system('mkdir test') #创建test目录 files = os.popen('ls -l').rea ...