日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

tornado连接数据库

發布時間:2024/10/8 数据库 135 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tornado连接数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ORM

對象關系映射(英語:(Object Relational Mapping,簡稱ORM,或O/RM,或O/R mapping),是一種程序技術,用于實現面向對象編程語言里不同類型系統的數據之間的轉換 。從效果上說,它其實是創建了一個可在編程語言里使用的–“虛擬對象數據庫”。

通過 ORM 可以不用關心后臺是使用的哪種數據庫,只需要按照 ORM 所提供的語法規則去書寫相應的代碼, ORM 就會自動的轉換成對應對應數據庫的 SQL 語句

SQLAlchemy連接數據庫

安裝: mysql
安裝python包: pymysql、sqlalchemy

pip install -i https://pypi.douban.com/simple pymysql
pip install -i https://pypi.douban.com/simple sqlalchemy

在項目新建models

db.py 是一些配置信息
auth.py 是定義表字段

from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker # 數據庫數據 HOST = '127.0.0.1' PORT = '3306' DATABASE = 'tornado' USERNAME = 'admin' PASSWORD ='Root110qwe' # 數據連接 URL DB_url = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOST,PORT,DATABASE) # 連接數據庫 engine = create_engine(DB_url) BSAE = declarative_base(engine) # 創建會話 用于數據(增刪查改) Session = sessionmaker(bind=engine) # 測試 if __name__ == '__main__':connection = engine.connect()result= connection.execute('select 1')print(result.fetchone())

from datetime import datetime from sqlalchemy import Column, Integer, String, DateTime from models.db import BSAE # 類來表示數據庫里面的表 class User(BSAE):__tablename__ = 'user'id = Column(Integer,primary_key=True,autoincrement=True)username = Column(String(20),nullable=False)password = Column(String(50))creatime = Column(DateTime,default=datetime.now) if __name__ == '__main__':# 創建好的 Module 映射到數據庫中BSAE.metadata.create_all()

數據增刪查改

需要建立會話

from sqlalchemy.orm import sessionmaker Session = sessionmaker(engine) session = Session()

這個我使用ipython中進行練習

注意路徑

add 是添加一條數據, add_all 添加多條數據

person = User(username='buodng', password='qwe123') s.add(person) s.commit()

rows = session.query(User).all() rows = session.query(User).first()

query 就是查詢的意思,在 SQLAlchemy 中也用來查詢數據

all 是查詢所有的意思
first 是查詢第一條數據

update

rows = session.query(User).filter(User.username=='budong').update({User.password:1}) session.commit()

delete

rows = session.query(User).filter(User.username=='budong')[0] print(rows) session.delete(rows) session.commit()

總結

以上是生活随笔為你收集整理的tornado连接数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。