sqlalchemy 查询出来后看所有字段名_Python之web框架SQLAlchemy

思维导图

bd6edfff222e4b5317f9b9f90ec28d41.png

SQLAIchemy

SQLAlchemy连接数据库

可以使用ORM框架操作数据库

ORM框架 = object relationship mappiy 框架

学习前提(软件)

mysql、pymysql(或者MySQLdb)、SQLAlchemy

SQLAlchemy连接数据库

步骤

  • 首先导入sqlalchemy.create_engine
  • 输入配置信息(服务器ip,端口号,数据库名,账户,密码)
  • 传递一个满足某种格式的字符串
    • dialect+driver://username:password@host:port/database?charset=utf8
      dialect:数据库的实现,比如MySQL、PostgreSQL、SQLite,并且转换成小写。
      driver:Python对应的驱动,python3对应sqlalchemy,python2对应MySQLdb。
      username:连接数据库的用户名
      password:连接数据库的密码
      host:连接数据库的域名
  • 创建数据库引擎
  • 创建连接

代码实现

from sqlalchemy import create_engine
​
#准备连接数据库基本信息
# 代表哪一台计算机,ip地址是多少
HOSTNAME = '127.0.0.1'
# 端口号
PORT = '3306'
# 数据库的名字,连接那个数据库
DATABASE = 'first_sqlalchemy'
# 数据库的账号和密码
USERNAME = 'root'
PASSWORD = 'root'
# 按照要求组织成一定的字符串
DB_URI = 'mysql+pymysql://{username}:{pwd}@{host}:{port}/{db}?charset=utf8'
    .format(username =USERNAME,pwd = PASSWORD,host = HOSTNAME,port=PORT,db = DATABASE)
# 创建数据库引擎
engine = create_engine(DB_URI)
# 创建连接,如果运行之后,输入1则连接成功
with engine.connect()as con:
    rs = con.execute('SELECT 1')
    print (rs.fetchone())

拓展:用SQLAlchemy执行原生SQL

from sqlalchemy import create_engine
from constants import DB_URI
#连接数据库
engine = create_engine(DB_URI,echo=True)
# 使用with语句连接数据库,如果发生异常会被捕获
with engine.connect() as con:
    # 先删除users表
    con.execute('drop table if exists authors')
    # 创建一个users表,有自增长的id和name
    con.execute('create table authors(id int primary key auto_increment,'name varchar(25))')
    # 插入两条数据到表中
    con.execute('insert into persons(name) values("abc")')
    con.execute('insert into persons(name) values("xiaotuo")')
    # 执行查询操作
    results = con.execute('select * from persons')
    # 从查找的结果中遍历
    for result in results:
        print(result)

ORM框架

ORM:Object Relationship Mapping(对象模型与数据库表的映射)

Python代码和SQL代码的对应关系

py代码:
class Person(object):
name = 'xx'
age = 18
country ='xx
对应关系:
Person类 -> 数据库中的一张表
Person类中的属性 -> 数据库中一张表字段
Per
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值