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() 方法使其执行。

标签:基本,__,name,bobby,peewee,Person,使用,integer

来源: https://www.cnblogs.com/Monste/p/13497144.html

peewee mysql_peewee基本使用相关推荐

  1. peewee mysql_Peewee、MySQL和INSERT忽略

    使用db.__str__().它回来了 如果连接数据库是MySQL和 ^{pr2}$ 如果连接数据库是Sqlite.在 因此可以使用if语句,例如:if 'SqliteDatabase' in db. ...

  2. peewee操作mysql_Peewee 使用

    Peewee是一个简单小巧的Python ORM,它非常容易学习,并且使用起来很直观. 如果想快速入门,请参考官方的Quckstart. 本文,只是写今天在使用过程中的一些记录. 基本知识 在官方的Q ...

  3. peewee 操作mysql_peewee 数据库操作

    peewee 数据库操作 from peewee import * from datetime import date import inspect db = SqliteDatabase('peop ...

  4. peewee操作mysql_peewee基本使用

    peewee基本使用 peewee是一个轻量级的ORM框架,peewee完全可以应对个人或企业的中小型项目的Model层,上手容易,功能强大. 一.安装peewee模块 使用pip命令工具安装peew ...

  5. python安装orm_Python ORM框架之 Peewee入门

    之前在学Django时,发现它的模型层非常好用,把对数据库的操作映射成对类.对象的操作,避免了我们直接写在Web项目中SQL语句,当时想,如果这个模型层可以独立出来使用就好了,那我们平台操作数据库也可 ...

  6. python orm peewee

    安装 peewee pip install peewee 从数据库生成model python3 -m pwiz -e mysql -u 名 -H 地址 --password 数据库 > tes ...

  7. peewee创建mysql_python – peewee MySQL,如何创建包装SQL构建的ins的自定义字段类型?...

    我想在peewee(通过 MySQL)创建一个自定义UUID字段. 在python中,我使用UUID作为一个六角形字符串,例如: uuid ='110e8400-e29b-11d4-a716-4466 ...

  8. Python ORM框架之 Peewee入门

    之前在学Django时,发现它的模型层非常好用,把对数据库的操作映射成对类.对象的操作,避免了我们直接写在Web项目中SQL语句,当时想,如果这个模型层可以独立出来使用就好了,那我们平台操作数据库也可 ...

  9. peewee mysql自动断开_flask+mako+peewee(下)(解决了Error 2006: MySQL server has gone away)

    这篇主要介绍在这次项目中使用的peewee 首先我们要初始化一个数据库连接对象.这里我使用了peewee提供的链接池.当然你也可以直接指定连接例如: db = SqliteDatabase('base ...

最新文章

  1. Windows客户端C/C++编程规范“建议”——表达式和运算
  2. C# 写了个获取本机外网IP发送邮件的服务- 分享。
  3. 腾讯 Node.js 基础设施 Tencent Server Web 正式开源
  4. java多线程如何设置优先级
  5. kafka topic制定规则
  6. 入门基础-VC网络编程入门
  7. python3读取文件夹-python3获取文件及文件夹大小
  8. Windows live writer插入代码图片Test
  9. Twemproxy测试Redis分片主从架构
  10. 云小课|DSC帮您管数据,保障您的云上数据安全
  11. leetcode刷题:循环队列
  12. 面向串口编程java_Java串口编程例子
  13. 【bzoj1045】【HAOI2008】 糖果传递
  14. java推箱子游戏源代码_java实现推箱子小游戏(附源码)
  15. ubuntu20 yarn报错
  16. Tik Tok怎么赚钱?零基础电商卖家新手快速入行指南
  17. nginx php 设置时区,laravel5.8(二十)解决时区设置差8个小时解决办法
  18. 一个简单的Python樱花飘落动画代码
  19. linux驱动相关的一些函数
  20. keil遇到FCARM - Output Name not specified, please check 'Options for Target - Utilities'解决方法

热门文章

  1. php实现addon安装卸载,插件Addon文件
  2. 神经网络参数量和计算量,神经网络计算公式
  3. 苹果手机用什么蓝牙耳机好?适合苹果的音乐蓝牙耳机推荐
  4. 腾讯toB“联合舰队”的秘密
  5. 枚举,随机数模型,函数功能分解---扔骰子随机数游戏
  6. 2021年度软件企业 100 强榜单(附全名单)看看有你家公司没
  7. python求圆的周长和面积
  8. Unity 数据存储与读取_JSON
  9. 图形编辑器:对齐功能的实现
  10. echarts 图例翻页+图例自定义样式