import sqlalchemy
import sqlalchemy.orm
import sqlalchemy.ext.declarative
利用数据库字符串构造engine, echo为True将打印所有的sql语句, 其他数据库的链接方式可自行百度
engine = sqlalchemy.create_engine(“mysql+pymysql://username:password@hostname/dbname”, encoding=“utf8”, echo=True)
engine = sqlalchemy.create_engine(“mysql+pymysql://dba_0:[email protected]/data_secret”, encoding=“utf8”, echo=False)
“”"
利用engine创建connection,因为使用了with所以不需要close操作,这部分不是重点
with engine.connect() as conn:
最基础的用法
result = conn.execute(“select * from tablename limit 10;”)
for item in result:
print(item)
execute的几种用法,这里具体还是得参考pymysql的用法,不需要执行commit操作
conn.execute(“insert into tablename(id, url, title) values(1, ‘url1’, ‘title1’);”)
conn.execute(“insert into tablename(id, url, title) values(%s, %s, %s);”, 2, “url2”, “title2”)
conn.execute(“insert into tablename(id, url, title) values(%s, %s, %s)”, (3, “url3”, “title3”))
conn.execute(“insert into tablename(id, url, title) values(%s, %s, %s)”, [(31, “url31”, “title31”), (32, “url32”, “title32”)])
使用事务可以进行批量提交和回滚
trans = conn.begin()
try:
conn.execute(“insert into tablename(id, url, title) values(%s, %s, %s)”, [