SQLAlchemy基礎操作二

2022-05-22 23:06:08 字數 2090 閱讀 1128

#!/usr/bin/env python

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

import time

import threading

from sqlalchemy.ext.declarative import declarative_base

from sqlalchemy import column, integer, string, foreignkey, uniqueconstraint, index

from sqlalchemy.orm import sessionmaker, relationship

from sqlalchemy import create_engine

from sqlalchemy.sql import text

from db import users, hosts

engine = create_engine("mysql+pymysql:", max_overflow=0, pool_size=5)

session = sessionmaker(bind=engine)

session = session()

# ################ 新增 ################

"""obj1 = users(name="wupeiqi")

session.add(obj1)

#批量新增

session.add_all([

users(name="wupeiqi"),

users(name="alex"),

hosts(name="c1.com"),

])session.commit()

"""# ################ 刪除 ################

"""session.query(users).filter(users.id > 2).delete()

session.commit()

"""# ################ 修改 ################

"""session.query(users).filter(users.id > 0).update()

session.query(users).filter(users.id > 0).update(, synchronize_session=false) #字串

session.query(users).filter(users.id > 0).update(, synchronize_session="evaluate") #數字

session.commit()

"""# ################ 查詢 ################

"""r1 = session.query(users).all()

r2 = session.query(users.name.label('xx'), users.age).all() #lable #as xx

r3 = session.query(users).filter(users.name == "alex").all()

r4 = session.query(users).filter_by(name='alex').all() #如果裡面寫條件就用filter_by,和上面filter查詢是一回事,只是一種不同的方式

r5 = session.query(users).filter_by(name='alex').first()

r6 = session.query(users).filter(text("id<:value and name=:name")).params(value=224, name='fred').order_by(users.id).all() #查詢裡面如果有動態傳參的時候,吧它包在text裡面,:value,:name這樣的語法後面用.params來進行格式化

r7 = session.query(users).from_statement(text("select * from users where name=:name")).params(name='ed').all() #上面的這個方式也可以用這一種 ,直接可以進行sql語句的查詢

"""session.close()

sqlalchemy基本操作

sqlalchemy的簡單實用 其他比較好的人寫的 各種基本操作 sqlalchemy指南 常用技巧 usr bin env python coding utf 8 from sqlalchemy import column,string,create engine,metadata from sq...

sqlAlchemy例項操作

from sqlalchemy import create engine from sqlalchemy.ext.declarative import declarative base from sqlalchemy import column,string,integer,float from s...

SQLAlchemy操作MariaDB筆記之三

query方法返回的是乙個可迭代輸出的物件,可以索引和切片。引數可以為表物件,表的字段物件。for instance in session.query user order by user.id print instance.name,instance.fullname for name,fulln...