# -*- coding: utf-8 -*-
'''
在上一篇中基本步骤的模型:python ----> mysqldb ---->mysql
虽然路径简单,但是存在如下确定:
1.假如开发人员不懂MySQL
2.我们随着业务变化可能要替换另外一种数据库
3.我们当前的方法对数据库数据的插入、删除和修改操作不方便
在这种情况下,我们提出了 orm (数据库映射) 的概念,模型:
"python"--->用python面向对象描述的数据模型---> "orm" --->将面向对象
转换为MySQL语法的数据模型 ---> "mysql语法的数据模型"---> "mysql"
'''
#------------------------------------------------------------------
#需要第三方模块 peewee ,peewee 是 orm 模型的一个模块 +
# pip install peewee +
#要先安装好MySQLdb模块 +
#------------------------------------------------------------------
#------------------------------------------------------------------
#使用orm模型的peewee模块给数据库新建一个表 +
#------------------------------------------------------------------
#导入模块
import peewee
#建立链接
connect = peewee.MySQLDatabase(
database = 'first_database', #数据库名字
host = 'localhost', #数据库地址
user = 'root', #数据库用户
passwd = '123' #对应用户密码
)
#创建表
#类名必须大写
#peewee创建数据库的时候,默认会添加主键id
#peewee创建数据库字段默认不可为空
class School(peewee.Model):
name = peewee.CharField(max_length = 32) # 相当于在数据库中定义了 name char(32)
address = peewee.CharField(max_length = 32) # 相当于在数据库定义了 address char(32)
age = peewee.IntegerField() # age int
birthday = peewee.DateTimeField() #日期
#将表和数据库连接
class Meta:
database = connect
if __name__ =="__main__":
School.create_table()
其执行结果是在first_database
中新建了一个表school
在这个过程当中并没有使用MySQL语句,而是利用orm模型,将python语句语句转换为sql语句。
结果如下: