python orm框架SQLAlchemy简单应用(数据库操作)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#_*_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='%s', name='%s', password='%s')>"  %  ( self .name,  self .name,  self .passwd)
 
 
#创建模式,创建数据库表,表名称:users
User.metadata.create_all(engine)
 
#创建会话(session)
'''创建会化'''
from  sqlalchemy.orm  import  sessionmaker  #引入sessionmaker这个函数
Session  =  sessionmaker(bind = engine)  #创建session对话,通过这个session就可以对数据库进行一些操作
session  =  Session()  #绑定
 
#持久化一个实例对象
ed_user  =  User( id = 2 ,name = 'tantianran' , passwd = '1qaz#EDC' ) #向数据库表中到列插入数据
session.add(ed_user)  #将这个实例添加到session中
session.commit()  #提交


执行结果:

wKiom1jJHl6yYcdxAAIbcFYWbmI008.png-wh_50

wKiom1jJHl6BNK5ZAABOW5cLzls503.png-wh_50



本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/1906971

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
15小时前
|
存储 SQL 人工智能
数据库技术:原理、应用与未来趋势
一、引言 数据库技术作为现代信息科技的重要组成部分,不仅为数据的存储、检索和管理提供了强大的支撑,还在推动数字化转型、大数据分析和人工智能等领域的发展中发挥着关键作用
|
15小时前
|
存储 SQL 多模数据库
数据库技术:核心要素、行业应用及未来展望
一、引言 数据库技术是现代信息技术的重要组成部分,它承载着数据存储、管理、检索和分析的核心功能
|
21小时前
|
JavaScript 关系型数据库 MySQL
Python实战:从猎聘网获取职位信息并存入数据库
Python实战:从猎聘网获取职位信息并存入数据库
|
1天前
|
存储 人工智能 关系型数据库
数据库的深度探索:技术演进、应用领域与未来趋势
一、引言 数据库,作为信息技术领域中的关键组件,不仅为数据的存储、检索和管理提供了强有力的支持,而且随着技术的不断发展,其功能和应用领域也在不断扩展
|
1天前
|
存储 NoSQL 关系型数据库
数据库的演变与未来:技术趋势与行业应用
一、引言 数据库作为信息技术的核心组成部分,承载着数据的存储、管理和分析功能
|
1天前
|
安全 NoSQL 物联网
数据库的演进与应用:技术、挑战与未来
一、引言 数据库作为信息时代的核心基础设施,经历了从简单到复杂、从单机到分布式的演进过程
|
1天前
|
存储 NoSQL 分布式数据库
数据库的演进之路:从传统到现代,技术的飞跃与应用
一、引言 数据库作为数据存储和管理的核心工具,随着信息技术的快速发展,经历了从简单到复杂、从单机到分布式的演进过程
|
1天前
|
存储 SQL NoSQL
深入了解数据库技术:核心原理、类型及行业应用
一、引言 数据库技术是信息技术领域的重要组成部分,它负责数据的存储、检索、管理和保护
|
1天前
|
存储 SQL NoSQL
深入探索数据库技术:从原理到应用
一、引言 数据库技术作为现代信息系统的重要组成部分,不仅承载着大量的数据信息,还为数据的存储、检索、处理和分析提供了强大的支持
|
1天前
|
分布式计算 负载均衡 并行计算
Python 分布式计算框架 PP (Parallel Python):集群模式下的实践探索
该文介绍了使用Parallel Python (PP) 在两台物理机上构建分布式计算集群的经验。PP是一个轻量级框架,旨在简化Python代码在多处理器系统和集群中的并行执行。文中通过设置子节点的IP、端口和密钥启动PP服务器,并在主节点创建PP实例进行负载均衡。实验使用官方的质数和计算示例,显示PP在集群模式下能有效利用多台机器的多核CPU,实现计算效率的显著提升。未来,作者计划进一步研究PP在更复杂任务和大规模集群中的应用潜力。