ORM操作mysql

來源:互聯網
上載者:User

標籤:echo   添加   查詢   name   pre   ext   zha   from   理解   

建立表和添加資料

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


engine = create_engine("mysql+pymysql://root:[email protected]/test_db", echo=True)#echo=True可以查看詳細資料
Base = declarative_base()
#建立表
class User(Base):
__tablename__ = ‘user‘#表名
id = Column(Integer, primary_key=True)
name = Column(String(32))
password = Column(String(64))
  
    def __repr__(self):#顯示ORM查詢執行後的結果(不加這個方法返回的是記憶體位址)
return ‘%s:%s‘ % (self.name, self.password)


Base.metadata.create_all(engine) #建立表結構

#建立串連
Session_class = sessionmaker(bind=engine) #建立與資料庫的會話session class,注意,這裡返回的是一個類,不是一個執行個體
session = Session_class()#產生session執行個體 #可以先理解成curson遊標
#查詢
# data = session.query(User).filter(User.id < 2).all()#是一個列表
data = session.query(User).filter(User.id > 2).filter(User.id < 5)

print(data)
#插入資料
user_obj1 = User(name=‘lizhao‘, password=‘lizhaoqwe123‘)#產生要建立的資料對象
user_ibj2 = User(name=‘test‘, password=‘testqwe123‘)
session.add(user_obj1)
session.add(user_ibj2)
session.commit()#必須commit之後才會添加資料

ORM操作mysql

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.