peewee操作mysql_peewee基本使用
peewee基本使用
peewee是一个轻量级的ORM框架,peewee完全可以应对个人或企业的中小型项目的Model层,上手容易,功能强大。
一、安装peewee模块
使用pip命令工具安装peewee库
pip install peewee
二、链接数据库并建表
以mysql为例(peewee提供mysql,postgresql,sqllite)的支持。
from peewee import *
# test 指的数据库名称,host 指 MySql 主机地址,port 指 MySql 端口,user 用户名,password 密码
db = MySQLDatabase('test', host='127.0.0.1', port=3306, user='root', password='123456')
class BaseModel(Model):
class Meta:
database = db # 将实体与数据库进行绑定
# 继承自 BaseModel,直接关联 db,并且也继承了 Model,Model 提供增删改查的函数
class Person(BaseModel):
name = CharField(verbose_name='姓名', max_length=10, null=False, index=True)
passwd = CharField(verbose_name='密码', max_length=20, null=False, default='111111')
gender = IntegerField(verbose_name='性别', null=False, default=1)
is_admin = BooleanField(verbose_name='是否是管理员', default=False)
if __name__ == "__main__":
# 查询数据库是否连接
db.is_closed()
# 连接数据库
db.connect()
# 创建table
Person.create_table()
下面附上mysql的截图:
三、全部数据类型
Field Type
Sqlite
Postgresql
MySql
IntegerField
integer
integer
integer
BigIntegerField
integer
bigint
bigint
SmallIntegerField
integer
smallint
smallint
AutoField
integer
serial
integer
FloatField
real
real
real
DoubleField
real
double precision
double precision
DecimalField
decimal
numeric
numeric
CharField
varchar
varchar
varchar
FixedCharField
char
char
char
TextField
text
text
longtext
BlobField
blob
bytea
blob
BitField
integer
bigint
bigint
BigBitField
blob
bytea
blob
UUIDField
text
uuid
varchar(40)
DateTimeField
datetime
timestamp
datetime
DateField
date
date
date
TimeField
time
time
time
TimestampField
integer
integer
integer
IPField
integer
bigint
bigint
BooleanField
integer
boolean
bool
BareField
untyped
not supported
not supported
ForeignKeyField
integer
integer
integer
四、增删改查
新增数据
Model.create 向数据库中插入一条记录,并返回一个新的实例。
if __name__ == "__main__":
p = Person.create(name="bobby", passwd="12345")
修改数据
if __name__ == "__main__" :
p = Person.create(name="bobby", email="123@321")
p = Person.get(name='bobby')
p.passwd = '999999'
# 将修改后的数据进行存库
p.save()
修改某条数据应该先获取到该数据,使用get()函数,赋值给引用变量进行修改,save()函数保存。不过get()方法只能查询一条,通过这种方法只能修改一条数据,且是第一条满足条件的数据。
查找数据
单个查找:
和修改数据中的方法相同。
p = Person.select().where(Person.name == 'bobby').get()
多个查找:
Ps = Person.select()通过select函数可以获取所有数据。
if __name__ == "__main__":
ps = Person.select()
print(type(ps)) #
print(ps[0]) # 1
print(type(ps[0])) #
for item in ps:
print(item.name) # bobby
使用 filter()函数
if __name__ == "__main__":
ps = Person.filter(name='bobby')
for item in ps:
print(item.name) # bobby
以上的查询方式适用于比较简单的sql查询,如果查询语句十分复杂,且是多表关联就不是很灵活了。
删除数据
删除一条:
if __name__ == "__main__":
p = Person.get(name='bobby')
p.delete_instance()
删除多条:
if __name__ == "__main__":
Person.delete().where(Person.name=='bobby').execute()
peewee 中有很多方法是延时执行多,需要调用 excute() 方法使其执行。
peewee操作mysql_peewee基本使用相关推荐
- peewee 操作mysql_peewee 数据库操作
peewee 数据库操作 from peewee import * from datetime import date import inspect db = SqliteDatabase('peop ...
- peewee操作mysql_Peewee 使用
Peewee是一个简单小巧的Python ORM,它非常容易学习,并且使用起来很直观. 如果想快速入门,请参考官方的Quckstart. 本文,只是写今天在使用过程中的一些记录. 基本知识 在官方的Q ...
- peewee操作MySQL
peewee 操作 MySQL peewee 的简单使用 为什么要用 ORM 为什么要使用 peewee 安装 peewee 连接 mysql 创建表 插入数据 查询数据 更新数据 删除数据 peew ...
- 关于大型网站技术演进的思考
关于大型网站技术演进的思考(一)--存储的瓶颈(1) 前不久公司请来了位互联网界的技术大牛跟我们做了一次大型网站架构的培训,两天12个小时信息量非常大,知识的广度和难度也非常大,培训完后我很难完整理出 ...
- Python:peewee常用操作CRUD
Defining models is similar to Django or SQLAlchemy 译文:定义模型类似于Django或SQLAlchemy 目录 1.数据库 Database 1.1 ...
- peewee mysql_peewee基本使用
peewee基本使用 peewee是一个轻量级的ORM框架,peewee完全可以应对个人或企业的中小型项目的Model层,上手容易,功能强大. 一.安装peewee模块 使用pip命令工具安装peew ...
- python调用mysql数据进行计算_python使用peewee实现mysql数据操作
peewee可用class来创建表,增删改查,应该是相对余单表(本人几乎没用过,自以为如此) 想实现sql查询,得到list,比如这样的结果[{'user_name':'名字'},{'user_nam ...
- peewee mysql_Peewee、MySQL和INSERT忽略
使用db.__str__().它回来了 如果连接数据库是MySQL和 ^{pr2}$ 如果连接数据库是Sqlite.在 因此可以使用if语句,例如:if 'SqliteDatabase' in db. ...
- python安装orm_Python ORM框架之 Peewee入门
之前在学Django时,发现它的模型层非常好用,把对数据库的操作映射成对类.对象的操作,避免了我们直接写在Web项目中SQL语句,当时想,如果这个模型层可以独立出来使用就好了,那我们平台操作数据库也可 ...
最新文章
- Kazoo安装和使用
- mysql挂科了咋办_大一挂科很难受怎么办?
- java中直角三角形第三条边,Java编程,根据输入三角形的三个边边长,程序能判断三角形类型为:等边、等腰、斜角、直角三角形,求代码...
- php 高效判断是否登录,php 判断用户是否登录
- Shell编程之多命令顺序执行和管道符
- 手机HiFi嗨不嗨 看完这些才能算是入坑
- 《高效能人士的7个习惯》PDF,复习笔记(上)
- 网络SSID是什么意思
- JVM cpu过高排查
- python conda安装与使用教程
- mysql connector安装教程_Debezium:mysql connector安装
- Access数据库常用函数大全
- RabbitMQ高可用--Quorum Queue(仲裁队列)的用法
- NodeMCU-ESP8266烧录手把手教程
- 基于ssm框架实现网上购物管理系统【附项目源码+论文说明】
- 安卓逆向——dy急速版设备抓包分析
- 电子商务系统的建设方式及技术选择
- Excel 中多行时快速生成自增长序号
- 管理信息系统基础知识点
- 融云即时通讯后续:产品需求与融云的碰撞