iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >教大家使用Python SqlAlchemy
  • 305
分享到

教大家使用Python SqlAlchemy

PythonSqlAlchemy 2022-06-04 19:06:05 305人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本文实例解析python sqlAlchemy的使用方法,分享给大家供大家参考,具体内容如下 1.初始化连接 from sqlalchemy import create_engine from sql

本文实例解析python sqlAlchemy的使用方法,分享给大家供大家参考,具体内容如下

1.初始化连接


from sqlalchemy import create_engine
from sqlalchemy.ORM import sessionmaker
engine = create_engine('Mysql://pass@localhost/test'echo=True)
DBSession = sessionmaker(bind=engine)
session = DBSession()
ret=session.execute('desc user')
print ret
# print ret.fetchall()
print ret.first()

mysql://root:pass/test
root是用户名 pass密码 test数据库
session相当于MySQLdb里面的游标
first 相当于fetchone
echo=True 会输出所有的sql

2.创建表


from sqlalchemy import Column
from sqlalchemy.types import *
from sqlalchemy.ext.declarative import declarative_base

BaseModel = declarative_base()

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

engine = create_engine('mysql://root:Hs2BitqLYKoruZJbT8SV@localhost/test')
DBSession = sessionmaker(bind=engine)


class User(BaseModel):
  __tablename__ = 'user1' # 表名
  user_name = Column(CHAR(30), primary_key=True)
  pwd = Column(VARCHAR(20), default='aaa', nullable=False)
  age = Column(SMALLINT(), server_default='12')
  accout = Column(INT())
  birthday = Column(TIMESTAMP())
  article = Column(TEXT())
  height = Column(FLOAT())


def init_db():
  '''
  初始化数据库
  :return:
  '''
  BaseModel.metadata.create_all(engine)


def drop_db():
  '''
  删除所有数据表
  :return:
  '''
  BaseModel.metadata.drop_all(engine)


drop_db()
init_db()

Django的 ORM一样 一旦表被创建了,修改User类不能改变数据库结构,只能用sql语句或删除表再创建来修改数据库结构
sqlalchemy.types里面有所有的数据字段类型,等于sql类型的大写
default参数是插入数据的时候,sqlalchemy自己处理的,server_default才是让mysql处理的

3.添加记录


user1=User(user_name='lujianxing',accout=1245678)
session.add(user1)
session.commit()

要commit才能起作用

4.更新记录
1).更新单条记录


query = session.query(User) 
user = query.get('lujianxing11')
print user.accout
user.accout='987'
session.flush()

2).更新多条记录


query = session.query(User)
query.filter(User.user_name=='lujianxing2').update({User.age: '15'})
query.filter(User.user_name=='lujianxing2').update({'age': '16'})
query.filter(User.pwd=='aaa').update({'age': '17'})

5.删除记录


query = session.query(User)
user = query.get('lujianxing11')
session.delete(user)
session.flush()

6.查询


query = session.query(User)
print query # 只显示sql语句,不会执行查询
print query[0] # 执行查询
print query.all() # 执行查询
print query.first() # 执行查询
for user in query: # 执行查询
  print user.user_name

如果字段的类型是数字型,查询出来的type也是数字型的,不是字符串
高级一点的查询:


# 筛选
user = query.get(1) # 根据主键获取
print query.filter(User.user_name == 2) # 只显示sql语句,不会执行查询
print query.filter(User.user_name == 'lujianxing').all() # 执行查询
print query.filter(User.user_name == 'lujianxing', User.accout == 1245678, User.age > 10).all() # 执行查询
print query.filter(User.user_name == 'lujianxing').filter(User.accout == 1245678).all()
print query.filter("user_name = 'lujianxing'").all() # 执行查询
print query.filter("user_name = 'lujianxing' and accout=1245678").all() # 执行查询
query2 = session.query(User.user_name) # 返回的结果不是User的实例,而是元组
print query2.all() # 执行查询
print query2.offset(1).limit(1).all() # 等于 limit 1,1
# 排序
print query2.order_by(User.user_name).all() 
print query2.order_by('user_name').all() 
print query2.order_by(User.user_name.desc()).all()
print query2.order_by(User.user_name, User.accout.desc()).all()
print query2.filter("user_name = 'lujianxing' and accout=1245678").count()
# 聚合查询
print session.query(func.count('*')).select_from(User).Scalar()
print session.query(func.count('1')).select_from(User).scalar()
print session.query(func.count(User.id)).scalar()
print session.query(func.count('*')).filter(User.id > 0).scalar() # filter() 中包含 User,因此不需要指定表
print session.query(func.count('*')).filter(User.name == 'a').limit(1).scalar() == 1 # 可以用 limit() 限制 count() 的返回数
print session.query(func.sum(User.id)).scalar()
print session.query(func.now()).scalar() # func 后可以跟任意函数名,只要该数据库支持
print session.query(func.current_timestamp()).scalar()
print session.query(func.md5(User.name)).filter(User.id == 1).scalar()

以上就是关于Python SqlAlchemy的使用方法介绍,希望对大家的学习有所帮助。

--结束END--

本文标题: 教大家使用Python SqlAlchemy

本文链接: https://www.lsjlt.com/news/15374.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQLAlchemy使用教程(以SQLite为例)
     安装依赖 pip3 install sqlalchemy==1.4.46 pip install sqlacodegen 如果是mysql则多安装一个依赖 pip3 install pymysql 在项目中新建一个db文件夹(后来:推...
    99+
    2023-09-04
    python mysql 开发语言
  • Python ORM数据库框架Sqlalchemy的使用教程详解
    目录概念和数据类型安装连接创建数据库表类(模型)生成数据库表会话增删改查增查改删执行裸sqlwith关闭会话sql建造者模式封装的工具数据库配置文件database.properti...
    99+
    2024-04-02
  • 怎么在Python中使用sqlalchemy库
    这期内容当中小编将会给大家带来有关怎么在Python中使用sqlalchemy库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和...
    99+
    2023-06-14
  • Python中sqlalchemy框架如何使用
    今天就跟大家聊聊有关Python中sqlalchemy框架如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。安装安装#进入虚拟环境#执行./python3 -m&nbs...
    99+
    2023-06-20
  • Python SQLAlchemy 实战秘籍:从新手到专家
    SQLAlchemy 简介 SQLAlchemy 是一款 Python 中的开源对象关系映射(ORM)工具,它可以帮助您轻松地将 Python 对象与数据库中的表进行映射,并通过简单的 Python 代码来对数据库进行操作。SQLAlc...
    99+
    2024-02-24
    Python SQLAlchemy 实战 秘籍 新手 专家
  • Flask SQLALchemy如何使用
    这篇文章主要介绍“Flask SQLALchemy如何使用”,在日常操作中,相信很多人在Flask SQLALchemy如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Flask SQLALchemy如...
    99+
    2023-07-02
  • Python flask sqlalchemy的简单使用及常用操作
    目录前言flask sqlalchemy的配置使用sqlalchemy的增删改查查询数据增加数据修改数据删除数据总结前言 说到面向对象,大家都不陌生。关系型数据库也是后端日常用来存储...
    99+
    2024-04-02
  • 教大家win10怎么更新
      我们在使用win10系统的时候,感觉有挺多的缺陷,想要将当前的系统更新一下,那么win10系统如何更新呢,下面,小编就给大家带来win10更新系统的方法。  win10怎么更新:  1.首先我们打开win10桌面,点击桌面左下角“开始菜...
    99+
    2023-07-15
  • Dataset中SQLAlchemy如何使用
    这篇文章给大家介绍Dataset中SQLAlchemy如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Dataset对于操作JSON、CSV文件、NoSQL非常好用。import...
    99+
    2024-04-02
  • Flask的Sqlalchemy怎么使用
    本篇内容主要讲解“Flask的Sqlalchemy怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Flask的Sqlalchemy怎么使用”吧!一: 基本使用:1:环境的安装:pip&nb...
    99+
    2023-07-02
  • 大家好啊=2001 用python计算
    有个三年级的题:大大家大家好大家好啊 +2 0 0 1大家好啊+大家好+大家+大=2001 求 大=?家=?好=?啊=?以下是代码:#!/usr/bin/env python#coding:utf-8import os,sys"""    ...
    99+
    2023-01-31
    好啊 python
  • python中SQLAlchemy的作用是什么
    python中SQLAlchemy的作用是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python...
    99+
    2023-06-14
  • 教大家win10退回win7详细步骤教程
      很多小伙伴升级了win10系统后,发现操作并不是很顺畅,使用习惯win7系统,于是想退回到win7操作系统当中,那么win10怎么退回win7呢,下面,小编就把win10退回win7教程带给大家。  win10退回win7:  1.首先...
    99+
    2023-07-13
  • Python的Flask Blueprint SQLAlchemy怎么应用
    这篇文章主要讲解了“Python的Flask Blueprint SQLAlchemy怎么应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python的Flask&nb...
    99+
    2023-07-05
  • 教大家windows7系统还原步骤
    恢复系统是指将系统返回到先前的工作状态,而且不会损坏系统数据文件。但是我们不能指定还原的内容,要么都还原,要么都不还原。下面就给大家介绍一下win7系统还原恢复出厂设置的方法。  1、点击桌面左下角的开始菜单然后选择控制面板选项或者点击桌面...
    99+
    2023-07-10
  • 教大家win8系统怎么激活
    如今众多电脑操作系统中,win8系统也依然有网友在使用着,很多小伙伴在购买新电脑后也安装了windows8,但是对于Win8系统的激活问题一直都困扰着我们。今天小编就与大家分享一下激活windows8系统的方法。1、右击桌面,从弹出的菜单中...
    99+
    2023-07-10
  • 教大家系统win10怎么断网
    现在很多软件安装时因为要登录的原因,经常会选择以断网的方式去解决,下面小编要和大家讲的是windows10系统断网的操作,一起来看看吧。1、在桌面的右下角我们可以看到网络图标。2、右键单击该图标,选择——打开 网络和Internet 设置 ...
    99+
    2023-07-10
  • 教大家电脑win10快速开机
    电脑使用久了开机的时候往往比不上最开始的开机速度,下面小编教大家win10电脑如何快速开机的方法,有兴趣的小伙伴不要错过了。1、打开win10电脑的【控制面板】。2、打开控制面板,选择查看方式为小图标,点击【电源选项】。3、进入电源选项界面...
    99+
    2023-07-10
  • Flask-SQLALchemy基本使用方法
    目录数据库基本操作将数据添加到会话中示例:在视图函数中定义模型类常用的SQLAlchemy查询过滤器常用的SQLAlchemy查询执行器创建表:删除表插入一条数据一次插入多条数据查询...
    99+
    2024-04-02
  • Python数据库ORM工具sqlalchemy怎么安装使用
    今天就跟大家聊聊有关Python数据库ORM工具sqlalchemy怎么安装使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。SQLAlchemy是...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作