sqlalchemy学习

基本用法,自动建模

  1. 简明教程:https://blog.csdn.net/stone0823/article/details/112344065
  2. 映射已有表:https://blog.csdn.net/xie_0723/article/details/84901502
  3. 参考:https://blog.csdn.net/weixin_46281427/article/details/122916870
  4. 参考:https://blog.csdn.net/lilongsy/article/details/129712156
  5. 参考:https://blog.51cto.com/u_15249893/5478232
  6. 参考:https://www.cnblogs.com/cola-1998/p/10691629.html

python执行脚本

  1. 参考:https://blog.csdn.net/qq_29037259/article/details/134613045
from sqlalchemy import create_engine, text, Column, String, Integer, Date, Numeric, TIMESTAMP, MetaData, Table
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import sessionmaker
from urllib.parse import quote_plus
import cx_Oracle

cx_Oracle.init_oracle_client(lib_dir=os.environ.get("HOME") + "/Downloads/instantclient_23_3")

username = "**"
password = quote_plus("******")
service_name = "*****"
host = "*.*.*.*"
port = "**"

connection_str = "oracle+cx_oracle://" + username + ":" + password + f"@{host}:{port}/?service_name={service_name}"
engine = create_engine(connection_str)

Session = sessionmaker(bind=engine)
session = Session()
Base = declarative_base()

设置多个主键

class MyClass(Base):
    __tablename__ = 'your_table_name'
    __table_args__ = (
        PrimaryKeyConstraint('日期', '投资ID', '基金ID'),
        {'schema': 'your_name_space'}
    )
# {'schema': 'your_name_space'} 要放在最后面

posted on 2023-10-14 22:40  朝朝暮Mu  阅读(13)  评论(0)    收藏  举报