sqlalchemy(二)簡單的串連樣本

來源:互聯網
上載者:User

標籤:com   add   bin   group   for   color   pass   style   lan   

# -*- coding: utf-8 -*-import sqlalchemyfrom sqlalchemy import create_enginefrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, Stringfrom sqlalchemy.orm import sessionmakerengine = create_engine(‘mysql+mysqlconnector://plan:[email protected]/plan‘)Base = declarative_base()  # 產生orm基類class User(Base):  #進行映射,建立表結構,models ,三項,id name password    __tablename__ = ‘user‘  # 表名    id = Column(Integer, primary_key=True)    name = Column(String(32))    password = Column(String(64))Base.metadata.create_all(engine)  # 建立表結構Session_class = sessionmaker(bind=engine)  # 建立與資料庫的會話session class ,注意,這裡返回給session的是個class,不是執行個體Session = Session_class()  # 產生session執行個體# Session.close()#關閉串連 這個放最後# 插入開始print(‘插入開始‘)user_obj = User(name="jack", password="jack")  # 產生你要建立的資料對象print(user_obj.name, user_obj.id)  # 此時還沒建立對象呢,不信你列印一下id發現還是NoneSession.add(user_obj)  # 把要建立的資料對象添加到這個session裡, 一會統一建立print(user_obj.name, user_obj.id)  # 此時也依然還沒建立Session.commit()  # 現此才統一提交,建立資料print(‘提交資料‘)print(user_obj.name, user_obj.id)  # 提交過,就會放在資料庫裡了。# 插入結束print(‘插入結束‘)# 查詢開始print(‘查詢開始‘)my_user = Session.query(User).filter_by(name="jack").first()  # 尋找name=jack的print(my_user)  # 這查出來是個對象print(my_user.id, my_user.name, my_user.password)# 查詢結束print(‘查詢結束‘)# 刪除開始print(‘刪除開始‘)# 先插入一個,可以刪的。user_obj = User(name="rose", password="jack")Session.add(user_obj)Session.commit()# 尋找到需要刪的對象del_user = Session.query(User).filter_by(name="rose").first()print(del_user.name)Session.delete(del_user)  # 刪除命令Session.commit()  # 提交刪除find_user = Session.query(User).all()#查詢表的全部內容for i in find_user:    print(i.id, i.name)# 刪除結束# 修改開始print(‘修改開始‘)my_user = Session.query(User).filter_by(name="jack").first()  # 找到第一條名字是jack的,產生對象。my_user.name = "jackadam"  # 給物件變數命名temp_id = my_user.id  # 把這個對象的ID,賦值給臨時變數temp_idSession.commit()  # 提交修改my_user2 = Session.query(User).filter_by(id=temp_id).first()  # 根據臨時變數id,重新查詢一下名字是否修改。print(my_user2.name)# 修改結束print(‘修改結束‘)# 多條件查詢objs = Session.query(User).filter(User.id > 0).filter(User.id < 7).all()# 多條件查詢# 統計print(‘統計‘)count_num = Session.query(User).filter(User.name.like("ja%")).count()print(count_num)# 統計# 分組print(‘分組‘)from sqlalchemy import funcprint(Session.query(func.count(User.name), User.name).group_by(User.name).all())# 分組Session.close()#最後不忘close‘‘‘orady_bydesc  升序asc   降序‘‘‘

注釋很詳細了,不寫了

sqlalchemy(二)簡單的串連樣本

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.