python 数据库连接 CRUD
Posted qukaige
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 数据库连接 CRUD相关的知识,希望对你有一定的参考价值。
import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column,String,Integer from sqlalchemy.orm.session import sessionmaker from sqlalchemy import func engine = create_engine(\'mysql+pymysql://root:412013@localhost/testdb?charset=utf8\',echo=False) Base = declarative_base() # 生产orm基类 class User(Base): __tablename__ = \'user\' # 表名 id = Column(Integer, primary_key=True) name = Column(String(32)) # varchar(32) password = Column(String(64)) # varchar(64) def __init__(self,name,password): self.name = name self.password = password def __repr__(self): return \'<@user:[name=%s,password=%s]> \' %(self.name,self.password) Base.metadata.create_all(engine) # 不存在创建数据表 Session_class = sessionmaker(bind=engine) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例 Session = Session_class() # 生产session实例 user_obj = User(name=\'kaige\',password=\'123456\') # 生成你要创建的数据对象 print(user_obj.name, user_obj.id) # 此时还没创建对象呢,打印一下id发现还是None # 插入数据 , 必须要commit Session.add(user_obj) # 把要创建的数据对象添加到这个session里, 一会统一创建 print(user_obj.name, user_obj.id) # 此时也依然还没创建 # 提交数据 Session.commit() # Session.rollback() 回滚 # 查询 一条 # my_user = Session.query(User).filter_by(name=\'kaige\').first() # 查询所有 # my_user = Session.query(User).filter(User.name==\'kaige\').all() # 修改 # my_user = Session.query(User).filter_by(name=\'kaige\').first() # my_user.name = \'I love you22222222\' # Session.commit() # 修改插入需要commit # 包含多个条件 # my_user = Session.query(User).filter(User.name.in_([\'kaige\', \'I love you\'])).all() # 模糊查询 # my_user = Session.query(User).filter(User.name.like("I%")).all() # 统计 # my_user = Session.query(User).filter(User.name == \'kaige\').count() # 分组 \'\'\' SELECT count(user.name) AS count_1, user.name AS user_name FROM user GROUP BY user.name \'\'\' # print(Session.query(func.count(User.name),User.name).group_by(User.name).all() ) # 输入结果 : [(1, \'I love you\'), (2, \'I love you22222222\'), (19, \'kaige\')] # Session.query(User).filter(User.name.in_([\'Jack\',\'rain\'])).all() print(my_user)
http://www.cnblogs.com/alex3714/articles/5978329.html
以上是关于python 数据库连接 CRUD的主要内容,如果未能解决你的问题,请参考以下文章
python3操作MongoDB的crud以及聚合案例,代码可直接运行(python经典编程案例)
python3操作MongoDB的crud以及聚合案例,代码可直接运行(python经典编程案例)