。。。

#!_*_coding:utf-8_*_
#__author__:"Alex huang"
import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,Integer,String engine = create_engine("mysql+pymysql://hrg:123@192.168.80.200:3306/test",encoding='utf8')
Base = declarative_base() #生成orm基类 class User(Base):
__tablename__ = 'user' #表名
id = Column(Integer, primary_key=True)
name = Column(String(32))
password = Column(String(64))
def __repr__(self):
return "id:%s name:%s" %(self.id,self.name) Base.metadata.create_all(engine) #创建表
Session_class = sqlalchemy.orm.session.sessionmaker(bind=engine) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
Session = Session_class() # 生成session实例
#
#插入
# user_obj = User(name="alex", password="alex3714") # 生成你要创建的数据对象
# user_obj2 = User(name="alex2", password="alex3714") # 生成你要创建的数据对象
# print(user_obj.name, user_obj.id) # 此时还没创建对象呢,不信你打印一下id发现还是None
# Session.add(user_obj) # 把要创建的数据对象添加到这个session里, 一会统一创建
# Session.add(user_obj2) # 把要创建的数据对象添加到这个session里, 一会统一创建
# print(user_obj.name, user_obj.id) # 此时也依然还没创建
# Session.commit() # 现此才统一提交,创建数据 #查询
#data = Session.query(User).filter().first() #只取返回的第一条记录
#data = Session.query(User).filter().all() #取返回的所有记录
'''filter_by与filter的区别,用法不同而已,filter 可以像写 sql 的 where 条件那样写 > < 等条件,
但引用列名时,需要通过 类名.属性名 的方式。 filter_by 可以使用 python 的正常参数传递方法传递条件,
指定列名时,不需要额外指定类名。,参数名对应名类中的属性名,但似乎不能使用 > < 等条件。各有所长吧'''
#data = Session.query(User).filter(User.id>2).all() #加过滤条件id大于2的
#data = Session.query(User).filter(User.id==2).all()
#data = Session.query(User).filter_by(id=2).all()
# data = Session.query(User).filter(User.id>2).filter(User.id<5).all() #多条件查询
# print(data) #其实返回的data只是一个对象,即内存地址。所以在表定义类中有了返回函数__repr__,data才是实际的内容。
# print(data[0].password,data[0].name)
#
#修改
# data = Session.query(User).filter(User.id>2).filter(User.id<5).all() #先查询出要修改的内容
# print(data) #修改前内容
# data[0].name = "new alex"
# data[0].password = 'nnn'
# data[1].name = "new2"
# Session.commit()
#
#删除
Session.query(User).filter(User.id==4).delete() #先查询出要删除的内容直接删除
data = Session.query(User).filter().all() #先查询出要修改的内容
print(data) #修改后内容

  。。。

sqlalchemy操作----建表 插入 查询 删除的更多相关文章

  1. SqlServer设置特定用户操作特定表(插入、删除、更新、查询 的权限设置)

    目录 一.需求场景: 二.操作步骤: 表上右键选择[属性],选择[权限]选项卡: 点击[搜索],在弹出的框中点击[浏览],选择需要设置的用户: 在上面点击[确定]后,就可以在[权限]选项卡中看到权限列 ...

  2. Mysql数据库常规操作(建表、查询)

    一.表单操作 1-1.创建表 create table tb_name( id in primary key auto_increment);    1-2.查看表 desc table_name; ...

  3. 64、django之模型层(model)--建表、查询、删除基础

    要说一个项目最重要的部分是什么那铁定数据了,也就是数据库,这篇就开始带大家走进django关于模型层model的使用,model主要就是操纵数据库不使用sql语句的情况下完成数据库的增删改查.本篇仅带 ...

  4. django之模型层(model)--建表、查询、删除基础

    要说一个项目最重要的部分是什么那铁定数据了,也就是数据库,这篇就开始带大家走进django关于模型层model的使用,model主要就是操纵数据库不使用sql语句的情况下完成数据库的增删改查.本篇仅带 ...

  5. 一次作业过程及其问题的记录:mysql建立数据库、建表、查询和插入等

    前言 这次的作业需要我建立一个小的数据库. 这次作业我使用了mysql,进行了建库.建表.查询.插入等操作. 以下是对本次作业相关的mysql操作过程及过程中出现的问题的记录. 正文 作业中对数据库的 ...

  6. Django ORM --- 建表、查询、删除基础

    1.什么是ORM ORM的全称是Object Relational Mapping,即对象关系映射.它的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样开发人员就可以把对数据库的 ...

  7. SQL Server 的表数据简单操作(表数据查询)

    --表数据查询----数据的基本查询-- --数据简单的查询--select * | 字段名[,字段名2, ...] from 数据表名 [where 条件表达式] 例: use 商品管理数据库 go ...

  8. C语言——顺序表插入、删除、定位运算算法

    说明:将元素x插入到顺序表L的第i个数据元素之前,这个i是从1开始的,但是程序中数组都是从0算起的,不要混淆了. 头文件: header.h // 顺序表的结构定义 #define Maxsize 1 ...

  9. sql 建表以及查询---复杂查询之成绩排名

    废话不说,直接建表 1.表Player USE T4st -- 设置当前数据库为T4st,以便访问sysobjects IF EXISTS(SELECT * FROM sysobjects WHERE ...

随机推荐

  1. Centos7 Tomcat9随机启动

    环境: Centos7.JDK 1.8.Tomcat9 安装好JDK跟Tomcat后在/usr/lib/systemd/system/目录下新建文件tomcat.service,内容如下,对应的位置替 ...

  2. 【Python】xpath-1

    1.coverage包实现代码覆盖率 (1)pip install coverage (2)coverage run XX.py(测试脚本文件) (3)coverage report -m 在控制台打 ...

  3. 使用Eclipse自带的Axis1插件生成Web Service服务端客户端

    JDK版本:1.5.0_22 Eclipse版本:Helios Service Release 2(3.6.2) WSDL文件的创建过程见http://blog.csdn.net/a19881029/ ...

  4. Android驱动中的remap_pfn_range()校验漏洞(CVE-2013-2596)

    简单介绍 当然类似函数还有io_remap_pfn_range(). remap_pfn_range() 为用户态提供了一种手段访问内核地址空间.它通过新页表,将一块内核物理内存映射到用户态进程空间. ...

  5. ERROR: gnu-config-native-20150728+gitAUTOINC+b576fa87c1-r0 do_unpack: Function failed: Fetcher failure: Fetch command failed with exit code 128, output: fatal: the '--set-upstream' option is no longer

    /********************************************************************** * ERROR: gnu-config-native-2 ...

  6. Python之路,第十九篇:Python入门与基础19

    python3  面向对象3 数值转换函数重载: str(obj)              __str__ complex(x)       __complex__ int(obj)         ...

  7. Python之路,第九篇:Python入门与基础9

    python3  集合set 集合set概念 集合是可变的容器:满足数学意义上的定义,求并集交集等 集合内的数据对象都是唯一的(不能重复多次) 集合是无序的存储结构,集合中的数据没有先后关系 集合是相 ...

  8. 嵌套for

  9. 20165313 预备作业3 Linux安装及学习

    虚拟机安装 刚开始我觉得既然有了教程,安装虚拟机应该是很简单的事情,然而由于电脑本身系统地地问题,导致我数次安装失败,后来咨询了老师并查阅了资料,最终才安装好. 其中最主要的问题就是电脑虚拟化的修改. ...

  10. $trainClassLayer.find('input[name=data-item-checkbox]').eq(index).change();//激活第index+1那个checkbox

    ☆ $.each(data, function (index, org) { if (org.alreadySent) { $trainClassLayer.find('input[name=data ...