SQLAlchemy入门

什么是SQLAlchemy?

  是Python连接SQL数据库的一种方式,需要通过驱动来连接。  

  是Python中使用最广泛的ORM(对象关系映射)工具之一,即把数据库中的二维表结构映射成一个list对象,list对象的每一个元素是一个tuple,例如:  

id  name
1 'Michael'
2 'Bob'
3 'Adam'
                           [
==> ('1', 'Michael'),
('2', 'Bob'),
('3', 'Adam')
]

为什么要使用SQLAlchemy?

  可以通过对象来操作数据库,避免了麻烦的sql语句


如何使用SQLAlchemy连接MySQL数据库?

1 定义映射关系

2 连接到数据库

3 通过对象操作数据库

# 导入:
from sqlalchemy import Column, Integer, String, create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base # 创建对象的基类:
Base = declarative_base() # 定义User对象: 可以定义多个类
class User(Base):
# 表的名字:
__tablename__ = 'user' # 表的结构:
id = Column(Integer, primary_key=True)
name = Column(String(20))

# 初始化数据库连接:
engine = create_engine('mysql+mysqlconnector://root:yourpassword@localhost:3306/test')
# 连接信息: '数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名'
# 这里是用 mysql.connector驱动(pip install mysql),
# Python3可以使用pymysql驱动 'mysql+pymysql://......'  
# 只能连接到已经存在的数据库,不能新建

# 自动创建表
Base.metadata.create_all(engine) # 创建DBSession类型:
DBSession = sessionmaker(bind=engine)

# 操作数据库(增删改查)
session = DBSession()
session对象可以通过三种方式操作数据库:
A 通过实例对象 session.add(User(id=3, name='zoro')) 、 delete、 ...
B 原生SQL语句 session.execute('select * from user where id=%d' % 3)
C 通过SQL表达式
  session.execute('SELECT * FROM user WHERE id=?', {'param': 5})

new_user = User(id='', name='Bob')
session.add(new_user)
session.commit()
session.close()
上一篇:Lync2013 强制用户显示企业头像


下一篇:调查显示:2016年Win10将在企业市场爆发