SQLAlchemy 文档 — SQLAlchemy 2.0 文档 - SQLAlchemy 中文

连接

from sqlalchemy import create_engine
from sqlalchemy import text
engine = create_engine('mysql://root:12345678@localhost:3306/dbname')
conn = engine.connect()
query = text('SELECT * FROM table_name')
result= conn.execute(query)

for row in result:
    print(row)

conn.close()

engine.dispose()

创建表,增加记录

查询记录

from db_init import engine,person_table

with engine.connect() as conn:
    query = person_table.select()
    reslut = conn.execute(query)

    # for row in reslut:#迭代器
    #     print(row[0])
    #     print(row.name)#或者这么写

    # reslut = reslut.fetchall()#获取所有数据
    # print(reslut)

    row = reslut.fetchone()#获取一条数据
    print(row)



from db_init import engine,person_table

with engine.connect() as conn:
    query = person_table.select().where(person_table.c.birthday > '1990-01-01')
    reslut = conn.execute(query)

    resluts = reslut.fetchall()
    print(resluts)

更新,删除

from db_init import engine,person_table

with engine.connect() as conn:
    # update_query = person_table.update().values(address='aaa')#所有记录的address字段都更新为aaa
    # update_query = person_table.update().values(address='aaa').where(person_table.c.name == '张三')#将name为张三的记录的address字段更新为aaa
    delete_query = person_table.delete().where(person_table.c.name == '张三')#删除name为张三的记录
    conn.execute(delete_query)#执行
    conn.commit()#提交