ORM框架(sqlalchemy)连接数据库和创建表并插入数据.

#_coding:utf-8_
author = "toby"

import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import sessionmaker

engine = create_engine("mysql+pymysql://root:1qaz#EDC@127.0.0.1/db_ttr", encoding="utf-8", echo=True)

Base = declarative_base() #生成ORM基类

#定义一个类Host,一个表对应一个类,且这个类和表做了映射关系
class Host(Base):
tablename = "hostinfo" #表名
id = Column(Integer, primary_key=True) #字段
hostname = Column(String(32)) #字段
ip = Column(String(64)) #字段

Base.metadata.create_all(engine) #创建表结构

Session_class = sessionmaker(bind=engine) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
Session = Session_class() # 生成session实例

user_obj = Host(hostname="pc1", ip="192.168.1.3") # 生成你要创建的数据对象 (这里的hostname和ip是表里的字段)
print(user_obj.hostname, user_obj.ip, user_obj.id) # 打印数据, 此时还没创建对象呢,不信你打印一下id发现还是None

Session.add(user_obj) # 把要创建的数据对象添加到这个session里, 一会统一创建
print(user_obj.hostname, user_obj.ip, user_obj.id) # 此时也依然还没创建

Session.commit() # 现此才统一提交,创建数据



本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/2048608

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值