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()
相关推荐
花王江不语2 小时前
android studio 配置硬件加速 haxm
android·ide·android studio
江太翁4 小时前
mediapipe流水线分析 三
android·mediapipe
与火星的孩子对话5 小时前
Unity进阶课程【六】Android、ios、Pad 终端设备打包局域网IP调试、USB调试、性能检测、控制台打印日志等、C#
android·unity·ios·c#·ip
tmacfrank6 小时前
Android 网络全栈攻略(四)—— TCPIP 协议族与 HTTPS 协议
android·网络·https
fundroid7 小时前
Kotlin 协程:Channel 与 Flow 深度对比及 Channel 使用指南
android·kotlin·协程
草字7 小时前
cocos 打包安卓
android
DeBuggggggg8 小时前
centos 7.6安装mysql8
android
浩浩测试一下9 小时前
渗透信息收集- Web应用漏洞与指纹信息收集以及情报收集
android·前端·安全·web安全·网络安全·安全架构
移动开发者1号10 小时前
深入理解原子类与CAS无锁编程:原理、实战与优化
android·kotlin
陈卓41010 小时前
MySQL-主从复制&分库分表
android·mysql·adb