做瞹瞹爱视频网站,网络安装,江西企业登记网络服务平台,通州做网站文章目录 一、pymysql和sqlalchemy的区别二、sqlalchemy的详细使用1.安装库2.核心思想3.整体思路4.sqlalchemy需要连接数据库5.使用步骤1.手动提前创建数据库2.使用代码创建数据表3.用代码操作数据表3.1 增加数据3.2 查询数据3.3 删除数据3.4 修改数据 一、pymysql和sqlalchemy… 文章目录 一、pymysql和sqlalchemy的区别二、sqlalchemy的详细使用1.安装库2.核心思想3.整体思路4.sqlalchemy需要连接数据库5.使用步骤1.手动提前创建数据库2.使用代码创建数据表3.用代码操作数据表3.1 增加数据3.2 查询数据3.3 删除数据3.4 修改数据 一、pymysql和sqlalchemy的区别
pymysql和sqlalchemy都是Python用来操作数据库的工具两者的区别如下
pymysql库在学校用的较多也称学者库sqlalchemy基本都是在企业应用也称企业库pymysql库使用sql语句操作数据库所以非常繁琐要求程序员要记忆大量sql语法而sqlalchemy是采用操作对象的方式来操作数据库对程序员很友好不必记忆较多sql语句用法
综上所述推荐大家日后在实际开发中使用sqlalchemy库。
二、sqlalchemy的详细使用
1.安装库
安装命令pip install sqlalchemy
2.核心思想
用操作对象的方式去操作数据库。
3.整体思路
借用sqlalchemy的基本框架 使用和丰富框架 ----- 满足日常需求
4.sqlalchemy需要连接数据库
连接数据库的方法模版如下
数据库类型数据库驱动://用户名:密码电脑IP:mysql端口号/自定义数据库名?charsetutf8示例如下
mysqlpymysql://mysql账号:mysql密码localhost:3306/数据库名?charsetutf85.使用步骤
1.手动提前创建数据库
打开Navicat工具建立好连接之后右键点击连接名称在下拉列表中选择【新建数据库】。
进来新建数据库页面之后数据库名字自己随便起注意字符集要选择utf8mb4排序规则要选择utf8mb4_general_ci千万不能有错完了点击确定即可数据库就创建好了。
2.使用代码创建数据表
使用代码创建数据表建议单独建个Python文件方便一会调用该文件只用来创建数据表我就取名叫create_table.py这里先附上创建数据表全部代码如下
from sqlalchemy import Column, Integer, String, Enum
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine# 1、找到基本框架 -- 把自定义的类变成数据表 declarative_base--声明基类
Base declarative_base()# 2、连接数据库
engine create_engine(mysqlpymysql://root:66666666localhost:3306/python1?charsetutf8
)# 3、自定义类 -- 创建表
class User(Base):# 3.1 表名__tablename__ 员工表# 3.2 字段信息id Column(Integer, primary_keyTrue, autoincrementTrue, doc员工ID)name Column(String(20), doc员工名字)age Column(Integer, doc员工年龄)sex Column(Enum(男, 女), doc员工性别)phone Column(String(30), doc员工电话)# 3.3 字段信息初始化def __init__(self, id, name, age, sex, phone):self.id idself.name nameself.age ageself.sex sexself.phone phone# 4、表的生成
Base.metadata.create_all(engine)
需要注意的是代码中第三大部分创建表这里需要自己根据自己的实际需求去写如下图
其余的所有部分都是创建数据表的标准模板可以不做改动。
3.用代码操作数据表
用代码操作数据表也就是通过代码对数据库中数据表内容进行增删改查等等操作这里我也再新建一个Python文件取名叫operation_table.py先附上固定模版代码部分
from create_table import User
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker# 1、连接数据库
engine create_engine(mysqlpymysql://root:66666666localhost:3306/python1?charsetutf8
)# 2、创建一个会话对象 -- 第三者 -- 执行语句
# 2.1 绑定引擎
dbsession sessionmaker(bindengine)
# 2.2 实例化
session dbsession()# 3、数据增删改查# 4、事务提交和关闭
session.commit()
session.close()代码中第三部分数据的增删改查是根据自身需求实际对数据进行操作其余所有部分均为固定模版可以不做改动。
接下来说说第三部分如何用代码对数据表中的数据做增删改查。
3.1 增加数据
A、增加单个数据使用add()方法示例如下所示
user User(0, 张三, 18, 男, 1001)
session.add(user)B、增加多个数据使用add_all(列表)方法示例如下所示
user1 User(0, 张三, 20, 男, 1003)
user2 User(0, 李四, 21, 女, 1004)
user3 User(0, 王五, 22, 男, 1005)
user4 User(0, 赵六, 23, 女, 1006)
user5 User(0, 麻七, 24, 男, 1007)
session.add_all([user1, user2, user3, user4, user5])3.2 查询数据
A、查询所有员工的信息示例如下所示
query_obj session.query(User).all()
for obj in query_obj:print(obj.id, obj.name, obj.age, obj.sex, obj.phone)B、查询年龄在19-24的员工信息示例如下所示
query_obj session.query(User).filter(User.age.between(19, 24)).all()
for obj in query_obj:print(obj.id, obj.name, obj.age, obj.sex, obj.phone, sep | )C、查询性别为男的员工信息示例如下所示
query_obj session.query(User).filter(User.sex 男).all()
for obj in query_obj:print(obj.id, obj.name, obj.age, obj.sex, obj.phone, sep | )D、查询性别为男的员工信息并按年龄大小排序【升序asc()降序desc()】示例如下所示
query_obj session.query(User).filter(User.sex 男).order_by(User.age.asc()).all()
for obj in query_obj:print(obj.id, obj.name, obj.age, obj.sex, obj.phone, sep | )3.3 删除数据
A、删除员工姓名张三示例如下所示
session.query(User).filter(User.name 张三).delete()B、删除员工电话1005示例如下所示
session.query(User).filter(User.phone 1005).delete()C、清空员工信息表示例如下所示
session.query(User).delete()3.4 修改数据
A、id18的用户姓名改成小明示例如下所示
session.query(User).filter(User.id 18).update({name: 小明})B、id22的用户姓名改成小红性别改成女电话改成0000示例如下所示
session.query(User).filter(User.id 22).update({name: 小红, sex: 女, phone: 0000})