代码

# -*- coding: utf-8 -*-

from sqlalchemy import Column, String, create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base from _sqlalchemy.models import Person Base = declarative_base() class User(Base): __tablename__ = 'user' id = Column(String(20), primary_key=True)
name = Column(String(20)) engine = create_engine('mysql+mysqlconnector://root:@localhost:3306/demo')
DBSession = sessionmaker(bind=engine) if __name__ == '__main__':
session = DBSession()
new_user = Person(first_name='David', last_name="Zeng")
session.add(new_user)
session.commit()
session.close()

首先是导入declarative_base,这是我要创建的对象的基本父类,然后然后就可以创建自己的对象了,首先是创建一个engine连接,我使用的是mysql,所以我的连接链接是mysql=mysqlconnector://root:@localhost:3306/demo,其中的密码不存在是因为我本地数据库没密码,然后我用的数据库是自己创建的demo,创建了连接之后就用sqlalchemy的会话绑定这个连接,产生一个可用的和数据库的会话,具体原理后面我还得再了解一下再继续写,到这一步基本就差不多了,接下来就是自己对于对象的创建了,比如我new了一个对象,然后把这个对象通过会话进行了添加,这个时候其实还没有存到数据库,只是将这个操作放到了会话当中,只有等我commit之后才是真的被添加到数据库当中,如果session不用了,最好是close掉,防止资源的浪费。

记录SQLAlchemy的基本使用的更多相关文章

  1. SQLAlchemy 学习笔记(一):Engine 与 SQL 表达式语言

    个人笔记,如有错误烦请指正. SQLAlchemy 是一个用 Python 实现的 ORM (Object Relational Mapping)框架,它由多个组件构成,这些组件可以单独使用,也能独立 ...

  2. 应有dataGridView控件

    using System.Data.SqlClient; namespace UseDataGridView { public partial class Form1 : Form { public ...

  3. 用 Flask 来写个轻博客 (5) — (M)VC_SQLAlchemy 的 CRUD 详解

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 SQLAlchemy 的 CRUD Create 增添数据 ...

  4. 记一个python+sqlalchemy+tornado的一个高并发下,产生重复记录的bug

    场景:在用户通过支付通道支付完成返回时,发现我收到的处理数据记录中有两条同样的数据记录, 也就是同一笔钱,我数据库中记为了两条一样的记录. tornado端代码 from tornado import ...

  5. sqlalchemy入门记录

    前言 发现翻译全文时间比较久,所以先整个简单的使用说明吧 安装SQLAlchemy pip install sqlalchemy 查看SQLAlchemy版本 In [1]: import sqlal ...

  6. 慢日志查询python flask sqlalchemy慢日志记录

    engine = create_engine(ProdConfig.SQLALCHEMY_DATABASE_URI, echo=True) app = Flask(__name__) app.conf ...

  7. SQLalchemy 使用记录

    1.models.py中添加该方法,可通过该方法转dict #驼峰 def to_hump_dict(self): return {commonUtils.str2Hump(c.name): geta ...

  8. 冰冻三尺非一日之寒-mysql(orm/sqlalchemy)

    第十二章  mysql ORM介绍    2.sqlalchemy基本使用 ORM介绍: orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似pyt ...

  9. Python 【第六章】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

随机推荐

  1. 实验三:Linux进程管理(HDU)

    2.设计内容 把下面的几个网址的内容看懂,关于Linux的通信机制就会有个基本的了解了,后面的这几个代码也应该可以看得懂了. 管道通信:https://blog.csdn.net/ljianhui/a ...

  2. SpringData JPA实现增删改查

    application.properties配置 一.创建实体类并自动生成数据库表 二.dao层继承JpaRepository 三.controller中增加操作 结果: 删除操作: 修改操作:

  3. ROS+gre over ipv6,在ipv6的基础上建立GRE隧道

    感谢群众大神 @镜花水月全程技术支持.感谢! 环境: 1.阿里云华北5,申请ipv6测试,申请ECS带ipv6公网ip 2.为了便于测试便捷,在vultr创建2.5美元的vps,带ipv6 对了,测试 ...

  4. 写代码注意了,打死都不要用 User 这个单词

    阅读本文大概需要 4 分钟. 原文:http://t.cn/Eau2d0h 译文:http://21cto.com/article/2093 当你意识到你在项目开始时做的轻量.简单的设想竟然完全错了时 ...

  5. Gamma阶段发布说明

    访问我们 公课网 Gamma新增功能和缺陷修复 Gamma新增功能 增加找回密码功能~妈妈再也不用担心我的密码忘掉了. 增加管理员功能,有权删除评论并通知用户. 增加信箱功能,评论被管理员删除后会得到 ...

  6. Lab2:物理内存管理

    前言 现在内存管理的方法都是非连续内存管理,也就是结合段机制和分页机制 段机制 段地址空间 进程的段地址空间由多个段组成,比如代码段.堆栈段和符号表段等等 段对应一个连续的内存"块" ...

  7. window 运行spark报错

    Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties // :: ERROR Shell: F ...

  8. Python【每日一问】27

    问: [基础题1]:将一个正整数分解质因数.例如:输入 90, 打印出 90=2*3*3*5 . [基础题2]:一个数如果恰好等于它的因子之和,这个数就称为“完数” .例如6=1+2+3.请找出 10 ...

  9. PHP生成正则表达式的类

    正则表达式,写起来还是比较费劲的,于是封装个类,初稿,抛砖引玉. 关于正则,建议参考 https://github.com/CyC2018/CS-Notes/blob/master/notes/%E6 ...

  10. git cherry-pick 命令,解决冲突后没有 commit 变更,再次pull 时出错

    Git : You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists). 解决方法:(1)使用git status 命令查看当前 ...