連線資料庫的另外一種方式 ORM 模型
阿新 • • 發佈:2018-12-18
from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker import json # 將這些資訊寫在一個配置檔案 (這裡面寫到了 json 檔案中) setting_file = r"F:\python_prj\hsh_rk2\setting.json" setting_json = json.load(open(setting_file)) db = setting_json.get('mysql').get('hsh_zt') print(db) # {'charset': 'utf8', 'host': '127.0.0.1:3306', 'db': 'haha', 'pwd': 'root', 'user': 'root'} # 連線資料庫 """ pymysql mysql+pymysql://<username>:<password>@<host>/<dbname>[?<options>] mysql+pymysql://使用者名稱 : 密碼 @ip+port/ 資料庫名稱 [?<options>] # 建立引擎 engine = create_engine("mysql+pymysql://root:
[email protected]:3306/ccc", max_overflow=5, encoding='utf-8', echo=True) """ engine_str = 'mysql+pymysql://{}:{}@{}/{}?charset={}'.format(db.get('user'), db.get('pwd'), db.get('host'), db.get('db'), db.get('charset')) engine = create_engine(engine_str, echo=True) # echo=True 這個引數顯示 生成的過程 DB_Session = sessionmaker(bind=engine) # 建立與資料庫的會話session class ,注意,這裡返回給session的是個class,不是例項 session = DB_Session() # 生成session例項 #cursor sql = "select * from table_haha" # 定義一個 sql 語句 result = session.execute(sql) # 提交sql語句 result_list = list(result) # 將獲取到的結果轉化成一個列表
ORM框架很多的知識,我是學的有點頭大,看過了我又忘記的差不多了,沒完整的用過還是記不住,只能說有點印象。。。