增add
- # 创建表1
- # 注:高级封装
-
View Code
import sqlalchemy # 调用链接数据库 from sqlalchemy import create_engine # 调用基类Base from sqlalchemy.ext.declarative import declarative_base # 调用Column创建字段 加类型 from sqlalchemy import Column, Integer, String # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB # encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来 engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang", encoding='utf-8', echo=True) # 生成orm基类 Base = declarative_base() # 继承Base class User(Base): # __tablename__ 表名 __tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键) id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度) name = Column(String(32)) # Column字段(String(64)字符长度) password = Column(String(64)) # 创建表结构 # 调用Baew基类方法metadata.create_all(链接数据库) Base.metadata.create_all(engine)
- # 创建表2
-
# 注:第一种方式创建的表就是基于第2种方式的再封装。
-
View Code
from sqlalchemy import Table, MetaData, Column, Integer, String, ForeignKey from sqlalchemy.orm import mapper metadata = MetaData() # 创建表结构,调用metadata user = Table('user', metadata, Column('id', Integer, primary_key=True), Column('name', String(50)), Column('fullname', String(50)), Column('password', String(12)) ) # 创建类 class User(object): def __init__(self, name, fullname, password): self.name = name self.fullname = fullname self.password = password # 将表元数据与表构造分开创建,然 后通过mapper()函数与用户类关联。 mapper(User, user)