一、实现对接数据库 mysql
代码如下:
import pymysql
pymysql.install_as_MySQLdb()
from sqlalchemy import create_engine, Column, Integer, String, update
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
# 数据库连接信息
engine = create_engine('mysql://root:*******@localhost:3306/douban', echo=True)
# engine = create_engine("mysql://username:password@hostname:port/dbname", echo=True)
# db = pymysql.connect(host="localhost", port=3306, user="root", password="********", db="douban",
# charset="utf8")
二、完成数据表创建
代码如下:
# 创建一个基类,用于定义数据表模型
# Base = declarative_base()
from sqlalchemy.orm import declarative_base
Base = declarative_base()
# 定义数据表模型
class Homework(Base):
__tablename__ = 'Homework'
id = Column(Integer, primary_key=True)
name = Column(String(10))
deadline = Column(Integer)
# 创建数据表
Base.metadata.create_all(engine)
创建结果如下
三、数据库记录插入
代码如下:注意要有提交更改代码
# 创建数据表
Base.metadata.create_all(engine)
# 插入数据
session.add_all([
Homework(name='mysql', deadline=2),
Homework(name='pycharm', deadline=3),
Homework(name='satistic', deadline=8)
])
# 提交更改
session.commit()
# 查询数据
print(session.query(Homework).all())
结果如下
四、数据库表更新
代码如下:注意要有提交更改这一步哦
# 更新数据
session.query(Homework).filter_by(name='mysql').update({Homework.deadline: 5})
# 提交更改
session.commit()
# 查询数据
print(session.query(Homework).all())
结果如下:数据已更改
五、数据库记录删除
代码如下:
# 删除数据
session.query(Homework).filter_by(name='satistic').delete()
# 提交更改
session.commit()
# 查询数据
print(session.query(Homework).all())
结果如下:我们可以看到satistic已被删除
好了,话不多说完整代码如下:记得改成自己的密码
import pymysql
pymysql.install_as_MySQLdb()
from sqlalchemy import create_engine, Column, Integer, String, update
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
# 数据库连接信息
engine = create_engine('mysql://root:*******@localhost:3306/douban', echo=True)
# engine = create_engine("mysql://username:password@hostname:port/dbname", echo=True)
# db = pymysql.connect(host="localhost", port=3306, user="root", password="********", db="douban",
# charset="utf8")
# 创建 Session 对象
Session = sessionmaker(bind=engine)
session = Session()
# 创建一个基类,用于定义数据表模型
# Base = declarative_base()
from sqlalchemy.orm import declarative_base
Base = declarative_base()
# 定义数据表模型
class Homework(Base):
__tablename__ = 'Homework'
id = Column(Integer, primary_key=True)
name = Column(String(10))
deadline = Column(Integer)
# 创建数据表
Base.metadata.create_all(engine)
# 插入数据
session.add_all([
Homework(name='mysql', deadline=2),
Homework(name='pycharm', deadline=3),
Homework(name='satistic', deadline=8)
])
# 提交更改
session.commit()
# 更新数据
session.query(Homework).filter_by(name='mysql').update({Homework.deadline: 5})
# 提交更改
session.commit()
# 删除数据
session.query(Homework).filter_by(name='satistic').delete()
# 提交更改
session.commit()
# 查询数据
print(session.query(Homework).all())