>  기사  >  백엔드 개발  >  Python Orm 프레임워크 SQLAlchemy의 간단한 응용(데이터베이스 작업) 예제 코드

Python Orm 프레임워크 SQLAlchemy의 간단한 응용(데이터베이스 작업) 예제 코드

高洛峰
高洛峰원래의
2017-03-22 13:48:551700검색

이 글에서는 python orm 프레임워크 SQLAlchemy 단순 응용 프로그램(데이터베이스 작업)의 예제 코드를 자세히 설명합니다.

#_*_coding:utf-8_*_
'''
创建SQLAlchemy应用基本过程
1、创建连接(和关系数据库创建连接)
2、声明映射文件(python中到类和数据库中的表做一对一的映射,这样就可以通过python中的类对数据库中到表进行操作)
3、创建模式(可以创建表)
4、初始化映射实例
5、创建会话
6、持久化实例对象
'''
 
from sqlalchemy import create_engine
 
#创建连接
engine = create_engine('mysql://root:1qaz#EDC@192.168.89.101:3306/student', echo=True)
'''
参数说明:
mysql 表示要连接的数据库是mysql数据库
root 表示用root账户登录mysql数据库
1qaz#EDC 表示连接数据库的root账户的密码
@ 是一个符号,规定的格式
192.168.89.1.101:3306 表示数据库的连接地址和端口3306
soms 表示将要连接的数据库的名字
echo=True 表示在执行的时候是否打印sql语句,False为不打印
'''
 
 
#声明映射文件
from sqlalchemy.ext.declarative import declarative_base #引入了declarative_base类
Base = declarative_base() #实例化了一个declarative_base实例
 
from sqlalchemy import Column, Integer, String #引入类Column, Integer, String类
class User(Base): #创建自己的实例类 名字为User 继承Base类
    __tablename__ = 'users' #这个属性,表示这个类和数据库中的users表进行映射
    id = Column(Integer, primary_key=True) #这个属性表示id在数据库表中代表着一列,Integer表示是整数,而且id是主键
    name = Column(String(10)) #这个属性表示在数据库表中也是一列,它的类型是string
    passwd = Column(String(10)) #这个属性表示在数据库表中也是一列,它的类型是string
 
    def __repr__(self): #定义了一个方法,目的是将User类更加形象的表示出来,没啥太大用途
        return "<User(name=&#39;%s&#39;, name=&#39;%s&#39;, password=&#39;%s&#39;)>" % (self.name, self.name, self.passwd)
 
 
#创建模式,创建数据库表,表名称:users
User.metadata.create_all(engine)
 
#创建会话(session)
&#39;&#39;&#39;创建会化&#39;&#39;&#39;
from sqlalchemy.orm import sessionmaker #引入sessionmaker这个函数
Session = sessionmaker(bind=engine) #创建session对话,通过这个session就可以对数据库进行一些操作
session = Session() #绑定
 
#持久化一个实例对象
ed_user = User(id=2,name=&#39;tantianran&#39;, passwd=&#39;1qaz#EDC&#39;) #向数据库表中到列插入数据
session.add(ed_user) #将这个实例添加到session中
session.commit() #提交

실행 결과:

python orm框架SQLAlchemy简单应用(数据库操作)的实例代码

python orm框架SQLAlchemy简单应用(数据库操作)的实例代码

위 내용은 Python Orm 프레임워크 SQLAlchemy의 간단한 응용(데이터베이스 작업) 예제 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.