SQLAlchemy基于python实现的ORM框架。该框架建立在DB API之上,使用关系对象映射进行数据库操作,简言之,将类和对象转化为sql,然后使用API执行SQL并获取执行结果。
Engine,框架的引擎
Connection Pooling ,数据库连接池
Dialect,选择连接数据库的DB API种类
Schema/Types,架构和类型
SQL Exprression Language,SQL表达式语言
SQLAlchemy本身无法操作数据库,其必须以来pymsql等第三方插件,Dialect用于和数据API进行交流,根据配置文件的不同调用不同的数据库API,从而实现对数据库的操作。
DBAPI Support(链接可查看具体说明)
-
PyMySQL Connect String:mysql+pymysql://<username>:<password>@<host>/<dbname>[?<options>]
-
MySQL Connector/Python Connect String:mysql+mysqlconnector://<user>:<password>@<host>[:<port>]/<dbname>
-
OurSQL
https://docs.sqlalchemy.org/en/14/dialects/mysql.html#module-sqlalchemy.dialects.mysql.oursql
-
PyODBC
https://docs.sqlalchemy.org/en/14/dialects/mysql.html#module-sqlalchemy.dialects.mysql.pyodbc
使用的时候根据自己连接数据库的需要使用不同的数据库。
建立数据库的Dialect后,就可以直接通过ORM的方式建立数据表了。
最简单的方法,使用pandase的dataframe,直接用to_sql的方式创建表和写入数据。
engine = create_engine('mysql+pymysql://root:root#@127.0.0.1:3306/databasename')data=dataframe的数据列表
data.to_sql(tableName, engine, index=False, if_exists='append', chunksize=5000)