python orm 搞一下

top.py

import sqlalchemy
from sqlalchemy.ext.declarative import declarative_base

# 数据库类型+操作数据库模板://用户:密码@主机/数据库名称
db = sqlalchemy.create_engine('mysql+pymysql://root:1111@localhost/school')
# 实例化数据库创建的元类
base = declarative_base(db)

models.py

import sqlalchemy
from top import base

class User(base):
    __tablename__ = "user"

    id = sqlalchemy.Column(sqlalchemy.Integer,primary_key = True)
    name = sqlalchemy.Column(sqlalchemy.String(32))
    password = sqlalchemy.Column(sqlalchemy.String(32))
    age = sqlalchemy.Column(sqlalchemy.Integer)
    gender = sqlalchemy.Column(sqlalchemy.String(32))
    project = sqlalchemy.Column(sqlalchemy.String(32))

    def __str__(self):
        return "姓名: %s"%self.name
class Shopping(base):
    __tablename__ = "shopping"

    id = sqlalchemy.Column(sqlalchemy.Integer,primary_key = True)
    name = sqlalchemy.Column(sqlalchemy.String(32))
    age = sqlalchemy.Column(sqlalchemy.Integer)
    gender = sqlalchemy.Column(sqlalchemy.String(32))
    project = sqlalchemy.Column(sqlalchemy.String(32))


center.py

from models import base
from top import db
from sqlalchemy.orm import sessionmaker

base.metadata.create_all(db)


Session = sessionmaker()
session = Session()

view.py

from models import User
from center import session

def insert_user(user,password):
    user = User(
        name = user,
        password = password
    )
    session.add(user)
    session.commit()

def select_user(id,args):
    try:
        result = session.query(User).get(ident = int(id))
    except Exception as e:
        print(e)
    else:
        print(result)
        return result

main.py

import sys
from views import *

register = {
    insert_user.__name__:insert_user,
    select_user.__name__:select_user
}

command = sys.argv[1]
username = sys.argv[2]
password = sys.argv[3]

if command in register:
    register[command](username,password)

执行过程:

 

猜你喜欢

转载自blog.csdn.net/weixin_42223833/article/details/88670786