Pymysql模块和sqlalchemy模块

21 篇文章 0 订阅

orm: object , relative , mapping :对象关系映射
类->表格 一个类对应一个表格
对象–>记录
属性–>字段

接下来是一个简单的通过pycharm 来实现数据库的增删改查:

步骤:
(1)创建引擎
(2)创建基类
(3)创建 类
(4)创建表格

#所需要的模块
import pymysql
from sqlalchemy import create_engine
from sqlalchemy import Column,String,Integer
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
#创建一个引擎
eng=create_engine("mysql+pymysql://root:123@localhost/offcn?charset=utf8")     #固定格式
print(eng)


#创建一个基类
Base=declarative_base()

创建一个teacher类,  也就是一个teacher表
class Teacher(Base):
    __tablename__='teacher'     #表的名字

	#字段
    id=Column(Integer,primary_key=True,autoincrement=True)  
    name=Column(String(32),nullable=False)
    age=Column(Integer,nullable=False)


#创建表格
Base.metadata.create_all(eng)

#session  用来对数据库进行 增删改查操作
Session=sessionmaker(bind=eng)
session=Session()


#charu插入
teacher=Teacher()
teacher.name='司昭'
teacher.age=32

teacher2=Teacher()
teacher2.name='汉武帝'
teacher2.age=32

teacher3=Teacher()
teacher3.name='秦始皇'
teacher3.age=23

# session.add(teacher)
# session.add_all([teacher3,teacher,teacher2])



#查询
ret1=session.query(Teacher).first()  #查询一条
ret=session.query(Teacher).get(ident=6)  #查询多条
ret2=session.query(Teacher).filter(Teacher.id>2)
ret3=session.query(Teacher).filter_by(id=6)

# print(ret)
# for i in ret2:
#     print(i.name,i.age)
#
# for i in ret3:
#     print(i )




# shanhcu删除  单条
rett = session.query(Teacher).first()
print(ret)
# session.delete(rett)


# 多个删除

# session.query(Teacher).filter(Teacher.id>4).delete()




#修改
# 单个
# te=session.query(Teacher).first()
# te.name='我是你爸爸'
# te.age=101

# 多个
session.query(Teacher).filter(Teacher.id>=2).update({'name':'齐天大圣','age':900})



#相当于提交事务
session.commit()
#关闭 session
session.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值