简介

tornado没有像Django那样提供了内建的ORM,需要使用第三方的SQLAlchemy来实现。

ORM全称:Object Relational Mapping 对象关系映射

好处:通过ORM可以不用关心后台是使用的哪种数据库,只需要按照ORM所提供的语法规则去书写相应的代码,ORM就会自动转换成对应的数据库SQL语句。

SQLAlchemy不仅仅只是用于tornado开发,它可以用于任何ORM场合。

补充:

ORM叫对象关系映射,mysql是关系型数据库。而redis、mongodb它们是非关系数据库,以键值对形式表示数据,根本没有关系可言,所以没有ORM这一说法。

 

一、准备工作

1.安装好mysql

2.安装好所需的依赖:pymysql、sqlalchemy

 

二、SQLAlchemy连接数据库

(一).导包

from sqlalchemy import create_engine

(二).设置连接的参数

HOSTNAME = '127.0.0.1'

PORT = '3306'

DATABASE = 'mydb'

USERNAME = 'admin'

PASSWORD = 'Root110qwe'

(三).定义连接数据库的URL

db_url = 'mysql+pymysql://{}:{}@{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOSTNAME,DATABASE)

注意:顺序绝对不要弄错了,也不要有任何空格!解析是通过字符串分割的,有一个不对就报错。

(四).连接数据库

engine = create_engine(db_url)

(五).测试连接

connection = engine.connect()

result = connection.execute('select 1')

print(result.fetchone())

如有打印出了结果:"(1,)",那么就可以了。

(六).完整代码

# connect.py

from sqlalchemy import create_engine


HOSTNAME = '127.0.0.1'
PORT = '3306'
DATABASE = 'mydb'
USERNAME = 'admin'
PASSWORD = 'Root110qwe'

db_url = 'mysql+pymysql://{}:{}@{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOSTNAME,DATABASE)

engine = create_engine(db_url)
connection = engine.connect()
result = connection.execute('select 1')
print(result.fetchone())
View Code

相关文章:

  • 2022-12-23
  • 2021-11-20
  • 2021-04-06
  • 2022-01-11
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-05
  • 2022-12-23
  • 2022-01-26
  • 2022-12-23
相关资源
相似解决方案