pymysql

python连接数据库,实行增删改查

让人想犯罪 __ 提交于 2020-11-03 07:55:15
Python3使用pymysql,Python2使用mysqldb库 环境准备 使用pip安装PyMySQL pip install PyMySQL 先使用第三方工具连接mysql数据库,比如navicat连接mysql,参考这篇 https://www.cnblogs.com/yoyoketang/p/9994078.html 如下图连接测试通过,那么连接数据库至少应该知道这些信息,用户名和密码是授权远程客户端的用户名和密码,授权相关参考这篇 https://www.cnblogs.com/yoyoketang/p/10268896.html 连接名: 自己定义,这个无所谓 主机名或ip地址:mysql服务的ip地址 端口:3306 (端口号,默认一般是3306) 用户名:root (授权远程登录的用户名) 密码:123456 (授权远程登录的密码) 查询操作 如果新建了一个test数据库,里面有一张user表,有name和psw两个字段,使用sql查询结果如下 select name,psw from user 接下来使用python转换成对应的代码查询 import pymysql # 打开数据库连接 db = pymysql.connect(host= ' 47.104.x.x ' , port =3306 , user = ' root ' , passwd = '

django ORM 数据库连接配置

蓝咒 提交于 2020-11-02 08:18:48
前言 django 中连接数据,可以使用pymysql 也可以使用django 自带的框架ORM pymysql 操作数据库 用pymysql连接MySQL数据库查询数据 1. import pymysql 2. 建立连接 3. 获取光标 4. 执行SQL语句 5. 获取数据 6. 关闭光标 7. 关闭连接 ORM是个啥 对象关系映射 类      数据表 属性     字段 对象    数据行 两者的比较 使用pymysql连接数据库缺点: 1. 麻烦 2. 自己写SQL语句!!! 使用ORM工具连接数据库 - 优点: 1. 不用自己写SQL语句!!! - 缺点: 1. 执行效率不高(需要翻译成语句再去执行) Django中如何使用ORM 1. 告诉Django连接哪个MySQL数据库(settings.py) settings.py 中数据库连接配置 # 默认的配置,默认使用的是django 自带的数据库sqlite3 # DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), # } # } DATABASES = { ' default ' : { ' ENGINE ' : ' django

手撸ORM

霸气de小男生 提交于 2020-10-29 04:42:14
本文目录 ORM简介 Python中常用ORM框架 原生操作数据库模块 pymysql ORM框架之SQLAlchemy 手把手带你写一个自己的ORM框架 ORM简介 ORM即 Object Relational Mapping,全称对象关系映射 。 当我们需要对数据库进行操作时,势必需要通过连接数据、调用sql语句、执行sql语句等操作,ORM将数据库中的表,字段,行与我们面向对象编程的类及其方法,属性等一一对应,即将该部分操作封装起来,程序猿不需懂得sql语句即可完成对数据库的操作。 Python中常用ORM框架 Django's ORM 优点: 易用,学习曲线短 和Django紧密集合,用Django时使用约定俗成的方法去操作数据库 缺点: 不好处理复杂的查询,强制开发者回到原生SQL 紧密和Django集成,使得在Django环境外很难使用 peewee 优点: Django式的API,使其易用 轻量实现,很容易和任意web框架集成 缺点: 多对多查询写起来不直观 SQLAlchemy 优点: 企业级 API,使得代码有健壮性和适应性 灵活的设计,使得能轻松写复杂查询 缺点: 重量级 API,导致长学习曲线 其它:SQLObject 、Storm 、、、、 原生操作数据库模块 pymysql ORM框架之SQLAlchemy 手把手带你写一个自己的ORM框架 来源:

Python访问MySQL

为君一笑 提交于 2020-10-28 17:29:42
Python高级 Python DB-API Python中用于访问关系型数据可的一个技术标准,通过它可以统一地访问所有主流数据库,代码几乎是完全一样的,DB-API定义了访问数据库必须的一些类(比如Connection, Cursor, 各种异常类等)和操作的方式,具体的实现由第三方库完成 API:Application Programming Interface,应用程序编程接口,就是一些实现了某个功能的类、函数、web接口等 Python 访问MySQL 步骤: 1.下载安装第三方库PyMySQL 2.连接数据库 (通过Connection对象实现); 3.执行SQL语句(通过Cursor对象实现); 4.关闭数据库连接 (通过Connection对象实现); 扩展 1.MIS类型项目:Management Information System,管理信息系统,内部所有功能本质就是对数据库进行CRUD操作,代码层面很简单,但往往业务逻辑很复杂 2.三层架构:Client,APP Server,DBMS 客户端建议不要亲自访问数据库,建议先让客户端访问服务器,再让服务器把数据存到数据库中,这种称为三层架构,能让数据库更加安全 3.密码单项加密后存放 对于无需任何人知道,只需客户本人知道的,可以进行单项加密算法 4.条码枪就是一个特殊的输入设备,可以理解为一个特殊键盘 5

Python 访问 MySQL 这件小事

限于喜欢 提交于 2020-10-26 23:43:39
前言 一般,在代码中连接并访问某个数据库服务,都需要通过一个特定于语言和数据库的驱动(或者叫连接器、binding(绑定)),在 Python 世界叫 Python Database API,简称 DB-API。MySQL 数据库几乎是国内互联网公司的标配。本来用 Python 访问数据库是件很简单的小事,你百度或 Google 就会发现好几种选择,但这些网络博客由于年久失修,会让新手走进坑里。即使不踩坑,用一段时间后,你也会产生疑惑。本文比较全面的盘点了各种 Python 访问 MySQL 的姿势,并给出最佳实践,希望能解决你的疑惑,帮助让你少踩坑,或者从坑里跳出来。 Python 2 时代的 MySQL-python\MySQLdb MySQL-python 又叫 MySQLdb,前者是它的包名,后者是它的接口名。是 Python2 时代访问 MySQL 的主流姿势。你现在搜索都能看到很多相关的博文。但几乎都会把你带进坑里。MySQLdb 只适用于 MySQL 3.23~5.5,以及 Python 2.4~2.7,现在已经不能用了。在 Linux 平台可以顺利安装,在 Windows 平台安装比较麻烦,连官方都不愿意写教程,在 Mac OS 上虽然可以安装,但是使用时可能会出现导入包不成功的 bug。 所以现在强烈不建议你使用 MySQL-python,见到它最好绕道走。

Can I use pymysql.connect() with “with” statement?

我的梦境 提交于 2020-08-24 05:39:51
问题 The following is listed as example in pymysql: conn = pymysql.connect(...) with conn.cursor() as cursor: cursor.execute(...) ... conn.close() Can I use the following instead, or will this leave a lingering connection? (it executes successfully) import pymysql with pymysql.connect(...) as cursor: cursor.execute('show tables') (python 3, latest pymysql) 回答1: This does not look safe, if you look here, the __enter__ and __exit__ functions are what are called in a with clause. For the pymysql

pymysql基本使用

你说的曾经没有我的故事 提交于 2020-08-20 07:09:08
导入模块 import pymysql 连接(看一下password有没有,没有的话会怎么样,有很多参数,有些参数也是可以不传的) conn = pymysql.connect(user = " root " ,host = " 127.0.0.1 " ,port = 3306,charset = " utf8 " ,database = " day36 " ) 产生一个游标对象 # cursor = pymysql.cursor.DictCursor 将查询出来的结果制作成字典的形式返回 cursor = conn.cursor(cursor = pymysql.cursor.Dictcursor) sql = " select * from userinfo " # 执行sql语句 res = cursor.execute(sql) print (res) # execute返回的是当前sql影响的行数 # 只获取查询数据中的一条数据 ret = cursor.fetchone() # 获取查询数据中的所有数据 ret = cursor.fetchall() # 指定获取几个数据,超过了也不会报错 ret = cursor.fetchmany(10 ) print (ret) # 相对移动 cursor.scroll( 2, " relative " ) # 基于指针所在的位置