orm英文全稱object relational mapping,就是對象映射關係程序,簡單來講咱們相似python這種面向對象的程序來講一切皆對象,可是咱們使用的數據庫卻都是關係型的,爲了保證一致的使用習慣,經過orm將編程語言的對象模型和數據庫的關係模型創建映射關係,這樣咱們在使用編程語言對數據庫進行操做的時候能夠直接使用編程語言的對象模型進行操做就能夠了,而不用直接使用sql語言。python
orm的優勢:mysql
缺點:sql
pip
install
SQLAlchemy
pip
install
pymysql
#因爲mysqldb依然不支持py3,因此這裏咱們用pymysql與sqlalchemy交互
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://zww:123@192.168.10.144/zdb", encoding='utf-8', 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 = sessionmaker(bind=engine) # 建立與數據庫的會話session class ,注意,這裏返回給session的是個class,不是實例 Session = Session_class() # 生成session實例 user_obj = User(name="jerry", password="jerry123") # 生成你要建立的數據對象 print(user_obj.name, user_obj.id) # 此時還沒建立對象呢,不信你打印一下id發現仍是None Session.add(user_obj) # 把要建立的數據對象添加到這個session裏, 一會統一建立 print(user_obj.name, user_obj.id) # 此時也依然還沒建立 Session.commit() # 現此才統一提交,建立數據