1. 程式人生 > >sqlalchemy操作----建表 插入數據

sqlalchemy操作----建表 插入數據

word 插入 tab from eat 數據對象 highlight name 實例

。。。

#!_*_coding:utf-8_*_
#__author__:"Alex huang"
import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,Integer,String


engine = create_engine("mysql+pymysql://hrg:[email protected]:3306/test",encoding=‘utf8‘,echo=True)
Base = declarative_base()  #生成orm基類

class User(Base):
    __tablename__ = ‘user‘ #表名
    id = Column(Integer, primary_key=True)
    name = Column(String(32))
    password = Column(String(64))

Base.metadata.create_all(engine)  #創建表


Session_class = sqlalchemy.orm.session.sessionmaker(bind=engine)  # 創建與數據庫的會話session class ,註意,這裏返回給session的是個class,不是實例
Session = Session_class()  # 生成session實例

user_obj = User(name="alex", password="alex3714")  # 生成你要創建的數據對象
user_obj2 = User(name="alex2", password="alex3714")  # 生成你要創建的數據對象
print(user_obj.name, user_obj.id)  # 此時還沒創建對象呢,不信你打印一下id發現還是None

Session.add(user_obj)  # 把要創建的數據對象添加到這個session裏, 一會統一創建
Session.add(user_obj2)  # 把要創建的數據對象添加到這個session裏, 一會統一創建
print(user_obj.name, user_obj.id)  # 此時也依然還沒創建

Session.commit()  # 現此才統一提交,創建數據

  。。。

sqlalchemy操作----建表 插入數據