python3使用SQLAlchemy连接数据库

安装配置MariaDB

yum install mariadb mariadb-server mariadb-devel
create database first_sqlalchemy charset utf8;
grant all privileges on first_sqlalchemy.* to ‘heboan‘@‘%‘ identified by ‘123456‘;
flush privileges;

信息:
	数据地址: 192.168.88.1:3306
	数据库: first_sqlalchemy
	用户:heboan
	密码:123456

Python3 安装pymysql和sqlalchemy

# pymysql: pymysql是Python用来操作MySQL的包,因此通过pip安装
	pip install pymysql

# SQLAlchemy: SQLALchemy是一个数据的ORM框架,通过pip安装
	pip install sqlalchemy

使用SQLAlchemy连接数据库

from sqlalchemy import create_engine

#数据库配置信息
HOST = ‘192.168.88.1‘
PORT = ‘3306‘
DATABASE = ‘first_sqlalchemy‘
USERNAME = ‘heboan‘
PASSWORD = ‘123456‘

# 连接数据库的固定格式:dialect+driver://username:[email protected]:port/database
DB_URI = "mysql+pymysql://{username}:{password}@{host}:{port}/{db}?charset-utf8".format(username=USERNAME,
                                                                                        password=PASSWORD,
                                                                                        host=HOST,
                                                                                        port=PORT,
                                                                                        db=DATABASE)

#创建一个引擎
engine = create_engine(DB_URI)

#调用这个引擎的connect方法得到一个对象
conn = engine.connect()

#通过这个对象就可以对数据进行操作
result = conn.execute(‘select version()‘)
print(result.fetchone())

ORM介绍

随着项目越来越大,采用原生SQL的方式在代码中会出现大量的SQL语句,那么问题就出现:

  1、SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长;会出现很多相近的SQL语句

  2、很多SQL语句是在业务逻辑中拼出来的,如果数据需要更改,就要去修改这些逻辑,比较容易出错

  3、写SQL时容易忽略web安全问题,给未来造成隐患,比如sql注入

ORM,全称Object Relationship Mapping,中文名叫做对象关系映射,通过ORM我们可以使用类的方式去操作数据库,而不用再写原生的SQL语句。通过表映射成类,把行作实例,把字段作属性。ORM在执行对象操作的时候最终还是会把对应的操作转换为数据库原生语句。使用ORM有许多优点:

  1、易用性:使用ORM做数据库的开发可以有效的减少重复SQL语句的概率,写出来的模型也更加直观、清晰

  2、性能损耗小:ORM转换成底层数据库操作指令确实会有一些开销,但从实际情况来看,这种性能损耗不足5%

  3、设计灵活:可以轻松写出复杂的查询

  4、可以移植性:SQLAlchemy封装了底层的数据库实现,支持多个关系型数据库引擎,可以轻松的切换数据库

原文地址:https://www.cnblogs.com/sellsa/p/8325639.html

时间: 2024-10-25 07:30:14

python3使用SQLAlchemy连接数据库的相关文章

python3 与 Django 连接数据库报错:ImportError: No module named 'MySQLdb'

在 python2 中,使用 pip install mysql-python 进行安装连接MySQL的库,使用时 import MySQLdb 进行使用 在 python3 中,改变了连接库,改为了 pymysql 库,使用pip install pymysql 进行安装,直接导入即可使用 但是在 Django 中, 连接数据库时使用的是 MySQLdb 库,这在与 python3 的合作中就会报以下错误了: ImportError: No module named 'MySQLdb' 解决方

Python3:sqlalchemy对mysql数据库操作,非sql语句

Python3:sqlalchemy对mysql数据库操作,非sql语句 # python3 # author lizm # datetime 2018-02-01 10:00:00 # -*- coding: utf-8 -*- ''' 数据起始日期:2015-05-08 数据库:mysql ''' import requests from bs4 import BeautifulSoup import json import pymysql import datetime import ti

Python3之sqlalchemy

SqlAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简而言之:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果. ORM(对象关系映射)方法论基于三个核心原则: 简单:以最基本的形式建模数据 传达性:数据库结构被任何人都能理解的语言文档化 精准性:基于数据模型创建正确标准化了的结构 Dialect用于和数据API进行交流,根据配置文件的不同调用的数据库API,从而实现对数据库的操作,如: '数据库类型+数据库驱

SQLAlchemy连接数据库创建表

# 连接数据库,创建表 def create_all(): engine = create_engine( 'mysql+pymysql://root:[email protected]:3306/sqlalchemy_test?charset=utf8', max_overflow=0, # 超过连接池大小外最多创建的连接 pool_size=5, # 连接池大小 pool_timeout=30, # 池中没有线程最多等待的时间,否则报错 pool_recycle=-1 # 多久之后对线程池中

Python3出现“No module named 'MySQLdb'“问题-以及使用PyMySQL连接数据库

Python3 与 Django 连接数据库,出现了报错:Error loading MySQLdb module: No module named 'MySQLdb'.原因如下:在 python2 中,使用 pip install mysql-python 进行安装连接MySQL的库,使用时 import MySQLdb 进行使用:在 python3 中,改变了连接库,改为了 pymysql 库,使用pip install pymysql 进行安装,直接导入即可使用:但是在 Django 中,

Python SQLAlchemy 模块

SQLAlchemy 是用于实现 ORM(Object Relational Mapping,对象关系映射)的一个模块,即把数据库的表结构映射到对象上在 Python 中,也就是将关系型数据库表结构抽象成面向对象的 Python 类,将表操作转换成类操作,避免了复杂的 SQL 语句编写 [root@localhost ~]# pip3 install SQLAlchemy SQLAlchemy 连接数据库: #!/usr/bin/env python3 #-*- coding: utf-8 -*

Python3 - MySQL适配器 PyMySQL

本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查. 什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库. PyMySQL 安装 在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装. PyMySQL 下载地址:https

SQLAlchemy 教程 —— 基础入门篇

SQLAlchemy 教程 -- 基础入门篇 一.课程简介 1.1 实验内容 本课程带领大家使用 SQLAlchemy 连接 MySQL 数据库,创建一个博客应用所需要的数据表,并介绍了使用 SQLAlchemy 进行简单了 CURD 操作及使用 Faker 生成测试数据. 1.2课程知识点 学会用 SQLALchemy 连接数据库(MySQL, SQLite, PostgreSQL), 创建数据表: 掌握表数据之间一对一,一对多及多对多的关系并能转化为对应 SQLAlchemy 描述: 掌握使

Python3.5 MySQL 数据库连接

Python3.5  MySQL 数据库连接 在本文中介绍 Python3 使用PyMySQL连接数据库,并实现简单的增删改查 为什么使用PyMySQL? PyMySQL是在Pyhton3.x版本中用于连接MySQL数据库的一个库,Python2中则使用mysqldb库. PyMySQL安装 在使用PyMySQL之前,需要确保安装PyMySQL库. 可以使用pip进行安装 pip install PyMySQL 数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TESTDB. 在