【Python相关应用】1.Python中使用SQLalchemy

# coding:utf8
# ORM是一种将类映射成表数据的工具
# pip install mysql-client 
# pip install sqlalchemy

# 创建链接
from sqlalchemy import create_engine

# echo=True-----显示数据库中原始的sql语句
engine = create_engine('mysql://root:admin@127.0.0.1:3306/test1', echo=True)

# 声明映射文件
# declarative_base为类工厂函数
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

from sqlalchemy import Column, Integer, String


class User(Base):
# 定义数据库表的名称
__tablename__ = 'users'

id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(String(50))
password = Column(String(50))

# 类实例的打印
def __repr__(self):
return "<User(name='%s',name='%s',password='%s')>" % (self.name, self.name, self.password)


# 创建数据表
User.metadata.create_all(engine)

# 创建会话
from sqlalchemy.orm import sessionmaker

Session = sessionmaker(bind=engine)
session = Session()


# 持久化一个实例对象

# add相当于sql中的insert
# ed_user = User(id=0, name='test', password='test123')
# session.add(ed_user)
# session.commit()
# print("add数据:", ed_user)

def insert_con():
try:
insert_user = User(id=0, name='test', password='test123')
print("Select数据:", insert_user)
# add相当于sql中的insert
session.add(insert_user)
session.commit()
print("插入成功!!!")
except:
print("插入失败!!!")


# 删除操作
def delete_con(did):
try:
# select_user = session.query(User).filter_by(id=did).first()
select_user = session.query(User).filter(User.id == did).first()

print("Select数据:", select_user)
session.delete(select_user)
session.commit()
print("删除成功!!!")
except:
print("删除失败!!!")


# session.query(参数)-----是表的对象
# filter_by----相当于sql中的where
# first()------相当于sql中的limit1
'''
select_user=session.query(User).filter_by(password='123').first()等效于
select * from users where password='123' limit 1; 
'''


def update_con(uid):
# update_user=session.execute('update users set name="hello world" where id=2 ')
# session.query(User).filter_by(id=uid).first().update({User.name: "Dr. No"})
session.query(User).filter(User.id == 5).update(
{User.name: "Dr. No"})

session.commit()
print("update成功!!!")


if __name__ == '__main__':
delete_con(5)
# update_con(5)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 之前有看到这样一则故事: 他很贴心,很暖心,是个和大白一样的优质暖男。我们兴趣和性格都很相似,我们认识有三年多了;...
    李翊轩言阅读 626评论 0 1
  • 从25岁起,我便开始不记得自己的年龄了。每当谈及年纪时,我只丢给对方一句87年的,然后让他自己算。十年后,...
    拆书帮一诺阅读 463评论 1 5
  • 亲爱的D, 今天有个网友加了我们的微信,聊起他的一些交友苦恼。他说几乎没怎么和同志圈子接触,因为从各种途径了解到同...
    凯德印象阅读 2,364评论 1 21

友情链接更多精彩内容