一、创建测试连接文件
①有两个包是需要我们提前在虚拟环境中安装好的:
pip install pymysql
pip install sqlalchemy
②创建models的python包,目录结构如下:
③在db.py中,代码如下:
from sqlalchemy import create_engine
HOST_NAME = '127.0.0.1' # 主机
PORT = '3306' # 端口号
DB_NAME = '数据库名称,需提前创建好'
USERNAME = '用户名'
PASSWORD = '密码'
DB_URL = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(
USERNAME, PASSWORD, HOST_NAME, PORT, DB_NAME
)
engine = create_engine(DB_URL)
if __name__ == '__main__':
connection = engine.connect()
result = connection.execute('select 1')
print(result.fetchone())
直接运行这个文件,若结果为(1, )则表示连接数据库成功!!!若不是就检查一下你的配置信息是否填对了
二、创建Base类
在刚才的db.py中,加入如下代码:
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base(engine)
三、创建数据表
在auth.py中,添加如下代码:
from datetime import datetime
from sqlalchemy import Column, Integer, String, DateTime
from models.db import Base
class User(Base):
__tablename__ = 'user' # 数据库中的表名
id = Column(Integer, primary_key=True, autoincrement=True) # 主键
name = Column(String(50), unique=True, nullable=False)
password = Column(String(50))
create_time = Column(DateTime, default=datetime.now())
if __name__ == '__main__':
# 创建表
Base.metadata.create_all()
请注意这里我们不能直接运行auth.py这个文件,不然会报错,解决方法如下:
在项目目录下打开ipython,通过这样来完成表的创建
四、到数据库中查看表是否已创建好
如下图所示,数据表已成功创建!!!