您的位置:首页 > 博客中心 > 数据库 >

SQLAlchemy MySQL 基础

时间:2022-03-14 09:27

__author__ = ‘Steve‘

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

Base = declarative_base()


# define the schema of table
class Users2(Base):
    __tablename__ = ‘users2‘
    name = Column(String(45), nullable=True)
    id = Column(Integer, primary_key=True)


# you can direct query database, but it is not recommended
def test_conn():
    username = ‘root‘
    passwd = ‘123‘
    schema = ‘test‘
    engine = create_engine(
        "mysql://{0}:{1}@127.0.0.1/{2}?charset=utf8&use_unicode=0".format(username, passwd, schema))
    result = engine.execute("select name from users2")
    for row in result:
        print "name:", row[‘name‘]
    result.close()


def conn():
    username = ‘root‘
    passwd = ‘123‘
    schema = ‘test‘
    engine = create_engine(
        "mysql+mysqldb://{0}:{1}@127.0.0.1/{2}?charset=utf8&use_unicode=0".format(username, passwd, schema))
    Base.metadata.bind = engine
    DBSession = sessionmaker(bind=engine)
    session = DBSession()
    return session


def query():
    session = conn()
    rows = session.query(Users2).all()
    for row in rows:
        print row.id, row.name


def insert():
    user = Users2(name="steve", id=3)
    session = conn()
    session.add(user)
    session.commit()


def delete():
    session = conn()
    user = session.query(Users2).filter_by(name=‘steve2‘).one()
    print "delete user:", user.name
    session.delete(user)
    session.commit()


def update():
    session = conn()
    user = session.query(Users2).filter_by(name=‘steve‘).one()
    user.name = ‘steve2‘
    session.commit()


if __name__ == "__main__":
    query()
    print
    # insert()
    # delete()
    # update()
    query()

 

本类排行

今日推荐

热门手游