用sqlalchemy連線sqlserver,運算元據庫
'''
'''# conding:utf-8
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import column, integer, string, datetime # 區分大小寫
from sqlalchemy.orm import sessionmaker
# 生成orm基類
base = declarative_base(
)class
status
(base)
: __tablename__ =
'status'
# 表名
__table_args__ =
statusid = column(integer, primary_key=
true
) statusname = column(string(20)
) updatetime = column(datetime)
# 建立連線
engine = create_engine(
"mssql+pymssql:"
, echo=
false
)# base.metadata.create_all(engine) # 建立表結構,已存在表則無需執行
session_class = sessionmaker(bind=engine)
##建立與資料庫的會話,class,不是例項
session = session_class(
)# 生成session例項
status_obj = status(statusname=
'新增'
, updatetime=
'2014-07-15 10:25:03'
)#插入你要建立的資料物件,每執行一次都會新增一次資料。
print
(status_obj.statusid, status_obj.statusname, status_obj.updatetime)
#此時還沒建立物件呢,不信你列印一下id發現還是none
session.add(status_obj)
#把要建立的資料物件新增到這個session裡
print
(status_obj.statusid, status_obj.statusname, status_obj.updatetime)
#此時也依然還沒建立
session.commit(
)#提交,使前面修改的資料生效。
print
(status_obj.statusid, status_obj.statusname, status_obj.updatetime)
status_obj = session.query(status)
.all()
#查詢所有記錄
for row in status_obj:
#列印全部內容
print
(row.statusid, row.statusname, row.updatetime)
如果無法插入報id沒有標識,那麼可以在資料加上標識
sql server management studio —> 工具 —> 選項,去掉下面的勾選
設計表,修改標識規範為是
還可以通過excute方式
'''
'''from sqlalchemy import create_engine, table, metadata
from sqlalchemy.orm import session
metadata = metadata(
)engine = create_engine(
'mssql+pymssql:'
, echo=
false
)status = table(
'status'
, metadata, autoload=
true
, autoload_with=engine, schema=
'code'
)session = session(engine)
aa = status.insert(
).values(statusid=
9, statusname=
'新增'
, updatetime=
'2014-07-15 10:25:03.327'
)session.execute(aa)
session.commit(
)'''
反射資料庫所有的表
base = automap_base()
base.prepare(engine, reflect=true)
admin = base.classes.admin
'''res = session.query(status)
.all()
print
(res)
Django之ORM資料對映
資料對映在django中的應用 1 一對一關係 models.onetoonefield 相當於唯 一 外來鍵 2 一對多關係 models.foreignkey 3 多對多關係 models.manytomanyfield 相當於關聯表中建立兩個唯一外來鍵關聯 比如有書 描述表 出版社 作者這4張...
物件關係對映(ORM)
本文主要介紹物件關係對映 orm 是什麼,以及它的優缺點。物件導向是從軟體工程基本原則 如耦合 聚合 封裝 的基礎上發展起來的,而關聯式資料庫則是從數學理論發展而來的,兩套理論存在顯著的區別。為了解決這個不匹配的現象,物件關係對映技術應運而生。圖 1 物件關係對映功能圖 orm 基於三個核心原則 讓...
ORM物件關係對映
資料庫查詢幫助類庫 自動生成sql 通用 public class sqlhelper using sqlconnection conn new sqlconnection configrationmanager.sqlconnectionstring 用來完成sql語句的快取 每張表都是幾個固定s...