返回顶部
首页 > 资讯 > 后端开发 > Python >Python工具之SQLAlchemy
  • 304
分享到

Python工具之SQLAlchemy

工具PythonSQLAlchemy 2023-01-31 07:01:44 304人浏览 薄情痞子

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

摘要

工具介绍:sqlAlchemy是python编程语言下的一款ORM框架,该框架建立在数据库api之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。工作方式:通过定义类的方式来操

工具介绍:sqlAlchemy是python编程语言下的一款ORM框架,该框架建立在数据库api之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。


工作方式:通过定义类的方式来操作数据库,一个类对应数据库中的一个表,一个类对象对应表中的一行数据,通过实例化类的方式来向数据库表中插入数据,通过对象.字段名来获取表中相应字段的值。


以一个具体的例子来说明:

#!/usr/bin/env Python
# -*- coding:utf-8 -*-

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String, DATETIME
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine

# 以字典的形式配置好Mysql数据库的连接信息
mysql_dic = {
   'mysql_user':'test',
   'mysql_pass':'1234',
   'mysql_ip':'192.168.192.168',
   'mysql_port':3306,
   'mysql_db':'test',
}

class Connect(object):          # 创建一个专门连接数据库的类
   Base = declarative_base()    # 创建对象的基类
   def __init__(self):
      mysql_str = "mysql+mysqldb://{mysql_user}:{mysql_pass}@{mysql_ip}:{mysql_port}/{mysql_db}"    # 连接数据库的命令行
      mysql_con = mysql_str.format(**mysql_dic)                 # 格式化命令
      self.engine = create_engine(mysql_con, max_overflow=5)    # 初始化数据库连接
      Session = sessionmaker(bind=self.engine)                 # 创建一个会话来操作数据库
      self.session = Session()

   def create_table(self):
      '''寻找Base的所有子类,按照子类的结构在数据库中生成对应的数据表信息'''
      Connect.Base.metadata.create_all(self.engine)

class Server(Connect.Base):    # 定义一个类(其实就是一张数据库表)继承Base基类
   __tablename__ = 'server'    # 表名,以下均为表字段
   id = Column(Integer,autoincrement=1,primary_key=True)
   date = Column(DATETIME)
   user = Column(String(20))
   ip = Column(String(50))
   group = Column(String(50))

if __name__ == '__main__':
   c = Connect()    # 连接数据库并创建程序与数据库之间的会话
   c.create_table() # 创建定义的server表 
   
      # 增加数据
    s = Server(user='test',ip='192.168.100.1',group='monitor') # 实例化一个类对象
    c.session.add(s) # 通过session会话向表中添加一行数据(一个类对象)
    
    # c.session.add_all([
    #     Server(user='test',ip='192.168.100.2',group='monitor'),
    #     Server(user='test',ip='192.168.100.3',group='monitor'),
    # ])    # 一次添加多条数据
    
    c.session.commit()    # 提交
     
    
    # 删除数据(删除server表中id大于2的数据)
    c.session.query(Server).filter(Server.id > 2).delete()
    c.session.commit()
    
    # 修改数据(修改server表中id大于2的数据的group字段值为JAVA)
    c.session.query(Server).filter(Server.id > 2).update({'group' : 'JAVA'})
    c.session.commit()
    
    # 查询数据(查询server表中所有user字段值为test的数据)
    ret = c.session.query(Server).filter_by(user='test').all()
    for i in ret:
        print i.ip    # 获取满足条件的数据中ip字段的值
         
    c.session.close()     # 关闭会话


博客的部分内容和思路整理自武沛齐的博客。

--结束END--

本文标题: Python工具之SQLAlchemy

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

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

猜你喜欢
  • Python工具之SQLAlchemy
    工具介绍:SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。工作方式:通过定义类的方式来操...
    99+
    2023-01-31
    工具 Python SQLAlchemy
  • Python 之 sqlalchemy删
    表结构: 代码: #Author Kang import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.declarative import d...
    99+
    2023-01-31
    Python sqlalchemy
  • Python 之 sqlalchemy查
    表结果: 查询代码: #Author Kang import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.declarative import...
    99+
    2023-01-31
    Python sqlalchemy
  • Python 之 sqlalchemy更
    表结构: 代码: #Author Kang import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.declarative import d...
    99+
    2023-01-31
    Python sqlalchemy
  • Python数据库ORM工具sqlalchemy怎么安装使用
    今天就跟大家聊聊有关Python数据库ORM工具sqlalchemy怎么安装使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。SQLAlchemy是...
    99+
    2024-04-02
  • 如何修复使用Python ORM工具SQLAlchemy时的陷阱
    这期内容当中小编将会给大家带来有关如何修复使用Python ORM工具SQLAlchemy时的陷阱,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在使用 SQLAlchemy 时,那些看似很小的选择可能对这...
    99+
    2023-06-16
  • python-sqlalchemy
    from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlal...
    99+
    2024-04-02
  • Flask 系列之 SQLAlchemy
    SQLAlchemy 是一种 ORM 框架,通过使用它,可以大大简化我们对数据库的操作,不用再写各种复杂的 sql语句 了。 说明 操作系统:Windows 10 Python 版本:3.7x 虚拟环境管理器:virtualenv...
    99+
    2023-01-31
    系列之 Flask SQLAlchemy
  • Python ORM框架之SQLAlchemy 的基础用法
    目录一、SQLAlchemy 介绍1.1 ORM 的概念1.2 SQLAlchemy介绍1.3 架构1.4 异步1.5 安装二、SQLAlchemy 快速入门2.1 创建配置(可选)...
    99+
    2024-04-02
  • Python GUI布局工具Tkinter入门之旅
    目录图形用户界面 (GUI)用于创建GUI的 Python 库Tkinter 基础Tkinter WidgetsLabelButtonEntryComboboxCheckbutton...
    99+
    2024-04-02
  • Python 工具——Anaconda+
    十分具体详细,细致到了每一步安装过程的截图,看了此篇,你完全不用看其他教程,给出了软件的百度云以及自己找到的可用的 Pycharm 的激活方式,可以直接安好,并开始写出自己的第一个 Python 代码。如果还没有开始 Python 工具下载...
    99+
    2023-01-31
    工具 Python Anaconda
  • 工具类之关于RestTemplateUtil工具类的使用
    目录工具类-RestTemplateUtil工具类代码可直接复制使用RestTemplate配置类和工具类工具类-RestTemplateUtil工具类 代码可直接复制使用 配置Re...
    99+
    2022-11-13
    工具类使用  RestTemplateUtil工具类 RestTemplateUtil的使用
  • Python常用工具类之adbtool示例代码
    1.adb常用命令 关闭adb服务:adb kill-server 启动adb服务  adb start-server 查询当前运行的所有设备  adb devi...
    99+
    2024-04-02
  • Windows GUI自动化控制工具之python uiAutomation
    对 Windows GUI进行自动化控制的工具有很多,比如pywinauto、pyautogui、pywin32、Autoit、airtest、UIAutomation等,UI Automation ...
    99+
    2023-09-01
    自动化 python uiautomation windows gui 自动化
  • Python常用工具之音频调整音量
    目录前言环境依赖代码验证一下前言 本文提供将音频提升音量的python代码,一如既往的实用主义代码。 环境依赖 ffmpeg环境安装 ffmpy安装: pip install f...
    99+
    2024-04-02
  • python 工具类之Queue组件详解用法
    目录简述环境单向队列先进后出队列优先级队列双向队列完整代码总结简述 队列一直都是工程化开发中经常使用的数据类型,本篇文章主要介绍一下python queue的使用,会边调试代码,边说...
    99+
    2024-04-02
  • 驰骋数据之海:Python SQLAlchemy 带你驰骋数据之旅
    Python SQLAlchemy 是一个流行的 Python 对象关系映射 (ORM) 库,它是一个强大的工具,用于在 Python 和关系数据库之间进行交互。SQLAlchemy 允许开发者使用 Python 对象来操作关系数据库,...
    99+
    2024-02-24
    Python SQLAlchemy 对象关系映射 关系数据库 SQL Python
  • Django之admin管理工具
      一、基本设置   1,应用注册   若要把app应用显示在后台管理中,需要在admin.py中注册。有两种方式注册   1.1 方式一: from django.contrib import admin from blog.mode...
    99+
    2023-01-30
    管理工具 Django admin
  • ORACLE工具之使用SQLPLUS
    SQL*Plus 是 ORACLE 数据库的命令行工具,它允许用户通过命令行界面与数据库进行交互,并执行 SQL 语句。以下是使用 ...
    99+
    2023-08-24
    oracle
  • python ETL工具 pyetl
    pyetl是一个纯python开发的ETL框架, 相比sqoop, datax 之类的ETL工具,pyetl可以对每个字段添加udf函数,使得数据转换过程更加灵活,相比专业ETL工具pyetl更轻量,纯python代码操作,更加符...
    99+
    2019-09-29
    python ETL工具 pyetl
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作