python ORM SQLAlchemy 使用示例,ormsqlalchemy,ORM方法论基于三个核心


ORM方法论基于三个核心原则:

简单:以最基本的形式建模数据。传达性:数据库结构被任何人都能理解的语言文档化。精确性:基于数据模型创建正确标准化了的结构。

现在来看看SQLAlchemy使用方法

1、连接数据库create_engine()

下面以连接mysql数据库为例,其他数据库也是类似的

db_config = {    'host': 'xxx.xxx.xxx.xx',    'user': 'root',    'passwd': 'xxxxxxxx',    'db':'test',    'charset':'utf8'}engine = create_engine('mysql://%s:%s@%s/%s?charset=%s'%(db_config['user'],                                                         db_config['passwd'],                                                         db_config['host'],                                                         db_config['db'],                                                         db_config['charset']), echo=True)

2、字段和数据类型及操作方法

在sqlalchemy.schema包里有数据库关系的描述,列举几个最常用的:

字段:Column索引:Index表:Table数据类型在sqlalchemy.types包,列举几个最常用的:二进制:BIGINT布尔:BOOLEAN字符:CHAR可变字符:VARCHAR日期:DATETIME

操作方法在sqlalchemy.sql包里,列举几个最常用的: execute,update,insert,select,delete,join等

3、使用SQLAlchemy创建表结构

例:创建名为users的表,有四个字段:id,name,fullname,password

String在mysql里其实就是varchar

metadata = MetaData()users_table = Table('users', metadata,    Column('id', Integer, primary_key=True),    Column('name', String(50)),    Column('fullname', String(50)),    Column('password', String(100)))metadata.create_all(engine)

4、创建映射关系

from sqlalchemy.orm import mappermetadata = MetaData(engine)users_table = Table('users', metadata, autoload=True)print users_table.columns

5、插入并显示数据

insert =  users_table.insert()insert.execute(name='leon', fullname='leon liang', password='leon123')mapper(User, users_table)ed_user=User('crackpot','Crackpot','password')print 'username:', ed_user.nameprint 'fullname:', ed_user.fullnameprint 'password:', ed_user.passwordprint 'id:', str(ed_user.id)

到此为止,一个简单的最基础的操作SQLAlchemy 学习结束了,使用ORM,可以让程序员更多的去关注实现逻辑而不用花太多时间去写SQL语句,可能使用项目代码更规范,多个协同开发时更能体现这点好处,而且直接写SQL语句也容易出错,大中型的项目推荐使用ORM。

评论关闭