#!/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...