通过peewee自动生成表的本质就是,定义一个类,通过代码将类转化成数据库的表
1.导入peewee依赖
from peewee import *
2.连接数据库
db = MySQLDatabase('db',host='127.0.0.1',port='3306',user='root',password='123456')
以上为连接mysql数据库的代码
db:数据库名
host:ip地址,连接远程数据库服务器时需要修改
port:数据库的端口号
user:数据库的用户名
password:数据库的数据库密码
3.创建类
与java创建类基本一致,区别就是java中的'{'
,'}'
在python中用缩进来表示
class Person(Model):
name = CharField()
birthday = DateField()
4.绑定数据库
class Meta:
database = db
table_name = 'users'
table_name:创建表的表名,如果不声明默认使用类名
5-1.生成
if __name__ == '__main__':
db.create_tables([Person])
5-2.新增数据
if __name__ == '__main__':
uncle_bob = Person(name='Bob', birthday=date(1960, 1, 15))
uncle_bob.save()
date()方法需要引入依赖
from datetime import date
uncle_bob:自定义
Person:类名
5-3.查询数据(获取单挑数据)
if __name__ == '__main__':
data = Person.get(Person.name == 'Bob')
5-3.查询数据(获取所有符合条件的值)
if __name__ == '__main__':
query = Person.select().where(Person.name == 'Bob')
#遍历
for person in query:
print(person.name, person.birthday)
query :符合条件的查询值,类型相当于list类型
5-4.修改数据
if __name__ == '__main__':
query = Person.select().where(Person.name == 'Bob')
#遍历修改
for person in query:
person.name = 'jocab'
person.save()
5-5.删除数据
if __name__ == '__main__':
query = Person.select().where(Person.name == 'Bob')
#遍历修改
for person in query:
person.delete_instance()