python sqlalchemy操作mysql数据库(ORM方式)

查询

使用sql语句查询:

python 复制代码
from urllib import parse
from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData

con = create_engine('mysql+pymysql://root:root@localhost:3306/testdb?charset=utf8')  
# pd.read_sql(sql,con) 

result = con.execute("SELECT * FROM testtable")

# 处理查询结果
for row in result:
    print(row)
con.dispose()

使用ORM方式查询:

python 复制代码
from urllib import parse
from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData

metadata = MetaData()
employees = Table('testtable', metadata,
    Column('id', Integer, primary_key=True),
    Column('name', String),
    Column('email', String),
)

engine  = create_engine('mysql+pymysql://root:root@localhost:3306/testdb?charset=utf8')  
# pd.read_sql(sql,con) 

s = employees.select()

conn = engine.connect()
result = conn.execute(s)

# 处理查询结果
for row in result:
    print(row)

conn.close()
engine.dispose()

插入:

python 复制代码
from urllib import parse
from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData

metadata = MetaData()
employees = Table('testtable', metadata,
    Column('id', Integer, primary_key=True),
    Column('name', String),
    Column('email', String),
)

engine  = create_engine('mysql+pymysql://root:root@localhost:3306/testdb?charset=utf8')  
# pd.read_sql(sql,con) 

ins = employees.insert().values(id=11, name="nameereee", email="kkkkkkkkkk")

# 执行插入语句
conn = engine.connect()
conn.execute(ins)

# 关闭连接
conn.close()
engine.dispose()

删除:

python 复制代码
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String
engine  = create_engine('mysql+pymysql://root:root@localhost:3306/testdb?charset=utf8')  

metadata = MetaData()
employees = Table('testtable', metadata,
    Column('id', Integer, primary_key=True),
    Column('name', String),
    Column('email', String),
)

conn = engine.connect()
stmt = employees.delete().where(employees.c.name == 'nameereee')
conn.execute(stmt)

s = employees.select()
conn.execute(s).fetchall()

更新:

python 复制代码
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String
engine  = create_engine('mysql+pymysql://root:root@localhost:3306/testdb?charset=utf8')  

metadata = MetaData()
employees = Table('testtable', metadata,
    Column('id', Integer, primary_key=True),
    Column('name', String),
    Column('email', String),
)

conn = engine.connect()
stmt=employees.update().where(employees.c.id=='3').values(name='Kapoor')
conn.execute(stmt)

s = employees.select()
conn.execute(s).fetchall()
相关推荐
天空之城--8 小时前
Android Koin 完全指南:从原理到实践
android
zhangphil10 小时前
Android main thread主线程Choreographer doFrame发生FullSuspendCheck
android
TimeFine13 小时前
智能眼镜开发:获取真实的音频路由
android
pengyu14 小时前
【Kotlin 协程修仙录 · 渡劫境 · 中阶】 | 造化神兵:自定义 CoroutineDispatcher 与调度器的终极定制
android·kotlin
pengyu14 小时前
【Kotlin 协程修仙录 · 渡劫境 · 初阶】 | 飞升雷劫:CPS 变换与挂起函数字节码终极透视
android·kotlin
TimeFine14 小时前
智能眼镜开发:眼镜Touch后收音与触发播放系统音乐的矛盾处理
android
TimeFine15 小时前
智能眼镜开发:眼镜侧收集音频
android
又见情义15 小时前
Android 系统设置从平板版迁移至TV版实践
android
杉氧18 小时前
打破边界(一):实战编写 Android/iOS 原生模块 (Native Modules)
android·react native·前端框架