from sqlalchemy import create_engine, Column, String, Integer
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# 建表
Base = declarative_base()
class Nodes(Base):
# 表名
__tablename__ = 'nodes'
# 定义字段
# {id: 0, type: 'python', category: 0, name: '定义', title: '变量'},
id = Column(Integer, primary_key=True, autoincrement=True)
type = Column(String(32))
category = Column(Integer)
name = Column(String(32))
title = Column(String(32))
engine = create_engine('sqlite:///nodes.db?check_same_thread=False', echo=True)
# 建表
# Nodes.__table__.create(engine, checkfirst=True)
# 创建会话
Session = sessionmaker(bind=engine)
session = Session()
# 单条数据
# node1 = Nodes(id=0, type='python', category=0, name='定义', title='变量')
# 插入多条数据
# nodes = [
# {'id': 1, 'type': 'python', 'category': 0, 'name': '调用', 'title': '变量'},
# {'id': 2, 'type': 'python', 'category': 0, 'name': '命名', 'title': '变量'},
# {'id': 3, 'type': 'python', 'category': 1, 'name': '定义', 'title': '函数'},
# {'id': 4, 'type': 'python', 'category': 2, 'name': '类的定义', 'title': '类'},
# {'id': 5, 'type': 'python', 'category': 3, 'name': '对象的定义', 'title': '对象'},
# {'id': 6, 'type': 'python', 'category': 3, 'name': '对象的属性', 'title': '对象'}
# ]
#
# for node in nodes:
# id_ = node.get('id')
# type_ = node.get('type')
# category = node.get('category')
# name = node.get('name')
# title = node.get('title')
# 插入数据
# session.add(Nodes(id=id_, type=type_, category=category, name=name, title=title))
# 提交
# session.commit()
# 查询数据
# items = session.query(Nodes).filter(Nodes.title == '变量').all()
items = session.query(Nodes).all()
nodes_list = []
for item in items:
temp_item = {
'id': item.id,
'type': item.type,
'category': item.category,
'name': item.name,
'title': item.title
}
nodes_list.append(temp_item)
print(nodes_list)
sqlalchemy操作数据库
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.