1.连接数据库
from sqlalchemy import create_engine
# 连接数据库
engine = create_engine('mysql+pymysql://username:password@localhost/dbname')
# 进行一些数据库操作
# ...
# 关闭连接
engine.dispose()
mysql:数据库类型;
pymysql:MySQL数据库驱动;
username:数据库用户名;
password:数据库密码;
localhost:数据库主机名;
dbname:数据库名。
2.查询数据
SQLAlchemy提供了两种查询数据的方式:基于SQL语句的查询和基于ORM的查询。
基于SQL语句的查询
from sqlalchemy import create_engine
# 连接数据库
engine = create_engine('mysql+pymysql://username:password@localhost/dbname')
# 执行查询语句
result = engine.execute("SELECT * FROM employees")
# 处理查询结果
for row in result:
print(row)
# 关闭连接
engine.dispose()
-------------------------------------------------------------------------------------------------------------------
from sqlalchemy import create_engine
# 连接数据库
engine = create_engine('mysql+pymysql://username:password@localhost/dbname')
# 构造插入语句
sql = "INSERT INTO employees(name, age, salary) VALUES (%s, %s, %s)"
params = ("Tom", 25, 5000)
# 执行插入语句
engine.execute(sql, params)
# 关闭连接
engine.dispose()
更新数据
更新数据可以通过如下步骤完成:
创建 对象,并查询要更新的记录
from sqlalchemy.orm import Session
from myapp.models import User # 假设这里有一个 User 模型
session = Session()
# 查询要更新的记录
user = session.query(User).filter_by(id=1).first()
2.修改要更新的属性
# 修改属性
user.name = "new_name"
user.age = 30
3.提交更改
# 提交更改
session.commit()
完整代码如下
from sqlalchemy.orm import Session
from myapp.models import User # 假设这里有一个 User 模型
session = Session()
# 查询要更新的记录
user = session.query(User).filter_by(id=1).first()
# 修改属性
user.name = "new_name"
user.age = 30
# 提交更改
session.commit()
删除数据
删除数据也可以通过如下步骤完成:
创建 session 对象,并查询要删除的记录
from sqlalchemy.orm import Session
from myapp.models import User # 假设这里有一个 User 模型
session = Session()
# 查询要删除的记录
user = session.query(User).filter_by(id=1).first()
2.调用 session.delete 方法删除记录
# 删除记录
session.delete(user)
3.提交更改
# 提交更改
session.commit()
完整代码如下
from sqlalchemy.orm import Session
from myapp.models import User # 假设这里有一个 User 模型
session = Session()
# 查询要删除的记录
user = session.query(User).filter_by(id=1).first()
# 删除记录
session.delete(user)
# 提交更改
session.commit()