6第八周 - 网络编程进阶 - Python语言下的SqlAlchemy ORM框架应用

Posted chen170615

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6第八周 - 网络编程进阶 - Python语言下的SqlAlchemy ORM框架应用相关的知识,希望对你有一定的参考价值。

 

Mysql SqlAlchemy 基本步骤

1、SqlAlchemy 基本结构语法如下:

案例:

from sqlalchemy import create_engine,Column,String,Integer,ForeignKey
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker,relationship
import pymysql

engine =  create_engine("mysql+pymysql://chen:[email protected]:3306/school",encoding=‘utf-8‘,echo=True) #echo屏幕输出信息
session_class = sessionmaker(bind=engine) #创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
Base = declarative_base() #生成orm基类

class User(Base):
    __tablename__ = "users" #定义表名
    id = Column(Integer,primary_key=True) #设置ID主键自增长
    name = Column(String(20),nullable=False) #字符集长度

class Address(Base):
    __tablename__ = ‘address‘
    id = Column(Integer,primary_key=True)
    address = Column(String(20),nullable=False)
    user_id = Column(Integer,ForeignKey(‘users.id‘)) #设置外键,格式表名.字段

    user = relationship(‘User‘)

Base.metadata.create_all(engine)#创建表结构
session = session_class() #生成session实例

user_obj = User(name="chenchangqing") #生成需要创建的数据对象
session.add(user_obj) #把要创建的数据对象添加到这个session里, 一会统一创建
session.commit()#统一提交,创建数据

 

以上是关于6第八周 - 网络编程进阶 - Python语言下的SqlAlchemy ORM框架应用的主要内容,如果未能解决你的问题,请参考以下文章

Python学习笔记——进阶篇第八周———Socket编程进阶&多线程多进程

Python学习笔记——进阶篇第八周———异常处理

3第八周 - 网络编程进阶 - Redis消息缓存

4第八周 - 网络编程进阶 - Mysql数据库操作

2第八周 - 网络编程进阶 - 数据库类型的理解

Python学习笔记——进阶篇第八周———CPU运行原理与多线程