一、Python3中安装PyMySQL模块,本章节我们将向大家介绍如何在本地搭建python开发环境。

Python可应用于多平台包括 Linux 和 Mac OS X。

你可以通过终端窗口输入 "python" 命令来查看本地是否已经安装Python以及Python的安装版本。

其实,PyMySQL该软件包包含一个纯Python MySQL客户端库。PyMySQL的目标是成为MySQLdb的替代品,并在CPython,PyPy和IronPython上工作。

注:PyMySQL不支持低级别的API _mysql提供了像data_seek, store_result和use_result。您应该使用PEP 249中定义的高级API 。但是支持一些API,如自动提交和ping,因为PEP 249不包含他们的用例。

软件包包含一个纯Python MySQL客户端库。PyMySQL的目标是成为MySQLdb的替代品,并在CPython,PyPy和IronPython上工作。

注:PyMySQL不支持低级别的API _mysql提供了像data_seek, store_result和use_result。您应该使用PEP 249中定义的高级API 。但是支持一些API,如自动提交和ping,因为PEP 249不包含他们的用例。

命令安装:

sudo apt-get install python-mysql

或者

pip install pymysql

2、使用在pyCharm中安装PyMySQL模块

二、PyMysql对象说明

1、Connection对象

用于建立与数据库的连接

创建对象:调用connect()方法

conn=connect(参数列表)

参数host:连接的mysql主机,如果本机是'localhost'

参数port:连接的mysql主机的端口,默认是3306

参数database:数据库的名称

参数user:连接的用户名

参数password:连接的密码

参数charset:通信采用的编码方式,默认是'gb2312',要求与数据库创建时指定的编码一致,否则中文会乱码

对象的方法

close()关闭连接

commit()事务,所以需要提交才会生效

rollback()事务,放弃之前的操作

cursor()返回Cursor对象,用于执行sql语句并获得结果

2、Cursor对象

执行sql语句

创建对象:调用Connection对象的cursor()方法

cursor1=conn.cursor()

对象的方法

close()关闭

execute(operation [, parameters ])执行语句,返回受影响的行数

fetchone()执行查询语句时,获取查询结果集的第一个行数据,返回一个元组

next()执行查询语句时,获取当前行的下一行

fetchall()执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回

scroll(value[,mode])将行指针移动到某个位置

mode表示移动的方式

mode的默认值为relative,表示基于当前行移动到value,value为正则向下移动,value为负则向上移动

mode的值为absolute,表示基于第一条数据的位置,第一条数据的位置为0

对象的属性

rowcount只读属性,表示最近一次execute()执行后受影响的行数

connection获得当前连接对象.

三、对Mysql基本操作的封装

1、我们创建MySQLManager.py模块,对Mysql的基本操作封装

# coding=utf-8;

# 导入模块pymysql模块

import pymysql

# 封装Mysql数据库管理类

class MySQL_Manager(object):

# 初始化方法

def __init__(self,host,port,database,user,password,charset='utf8'):

# 配置连接MySQL数据库的基本信息

self.host = host

self.port = port

self.database = database

self.user = user

self.password = password

self.charset = charset

# 使用python3链接MySQL数据库

def connect(self):

# 链接

self.connect = pymysql.connect(host = self.host, port = self.port, database = self.database, user = self.user, password = self.password,charset = self.charset)

# 得到一个可以执行SQL语句的光标对象

self.cursor = self.connect.cursor()

# 操作完毕后关闭

def close(self):

# 关闭执行语句

self.cursor.close()

# 关闭连接

self.connect.close()

# 创建表操作

def create_table(self,sql,params=()):

# 先连接

self.connect()

# 执行创建语句

self.cursor.execute(sql,params)

# 关闭连接

self.close()

# 查询一条数据

def select_one(self,sql,params=()):

result = None

try:

self.connect()

self.cursor.execute(sql,params)

result = self.cursor.fetchone()

self.close()

except Exception as e:

print(e)

return result

# 查询全部数据

def select_all(self,sql,params=()):

list=()

try:

self.connect()

self.cursor.execute(sql,params)

list = self.cursor.fetchall()

self.close()

except Exception as e:

print(e)

return list

# 插入

def insert(self, sql, params=()):

return self.__edit(sql, params)

# 修改

def update(self, sql, params=()):

return self.__edit(sql, params)

# 删除

def delete(self, sql, params=()):

return self.__edit(sql, params)

# 插入、修改、删除其实一样的,只是sql代码不同,但是为了代码的阅读性更高,还是分开写

def __edit(self, sql, params):

count = 0

try:

self.connect()

count = self.cursor.execute(sql, params)

self.connect.commit()

self.close()

except Exception as e:

print(e)

return count

2.创建testMySQL.py模块对我们创建的MySQLManager.py模块测试

# coding = utf-8

from MySQLManager import *

mysql_manager = MySQL_Manager("192.168.100.114",3306,"Hero","root","123456")

# 创建表

create_sql = "create table hero(id int auto_increment primary key,name varchar(20) not null unique,skill varchar(20) not null) engine=innodb default charset=utf8;"

mysql_manager.create_table(create_sql)

# 添加数据

insert_sql = "insert into hero(id,name,skill) values(1,'李白','青莲剑歌');"

mysql_manager.insert(insert_sql)

# 查询语句

select_sql = "select * from hero;"

list = mysql_manager.select_all(select_sql)

print(list)

# 修改

update_sql = "update hero set name='韩信' where id=1;"

mysql_manager.update(update_sql)

# 删除语句

delete_sql = "delete from hero where id=1;"

mysql_manager.delete(delete_sql)

说明:

为什么MySQLManager里面的方法都有params参数,这里却没用?因为这只是测试,我把所有的参数都直接写在了sql语句中,但是为了程序的可扩展性,建议大家还是使用参数params

testMysql.py文件每运行一次里面对数据库的操作就会执行一次,例如创建表的操作只需要执行一次,当我们创建表成功之后,就可以把创建表的方法注释掉,不用再创建了,同样的,添加,删除也是一样。

python3安装pymysql_python3中安装PyMySQL模块相关推荐

  1. python3安装pymysql_Python3 MySQL 数据库连接 - PyMySQL 驱动

    本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查. 什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一 ...

  2. python3安装pip3-Python3中安装pip3

    前言: 我目前使用的服务器为centos6.x 系统自带的python的版本为2.6.x,但是目前无论是学习还是使用python,python3都是首选,那么问题来了.---如何安装python3环境 ...

  3. opencv安装教程python3.7_Python3.7中安装openCV库的方法

    1.首先自己直接在cmd中输入 pip3 install openCV是不可行的,即需要自己下载安装包本地安装 2.openCV库 下载地址http://www.lfd.uci.edu/~gohlke ...

  4. vm虚拟机下linux安装python_VM中安装linux系统,安装VS Code,搭建Python环境

    VM中安装linux系统 在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载安装包 2.在下载目录打开终端安装 sudo dpkg -i code_1.32.3 ...

  5. python中的pymysql模块

    文章目录 一.安装pymysql模块 二.通过python操作数据库 1.连接数据库 2.创建游标对象 3.对数据库操作 三.查询数据库 1.查询数据记录数 2.获取下一条查询结果集 3.获取指定个数 ...

  6. docker安装clickhouse_Docker中安装ClickHouse,单机、集群、分布式

    Docker中安装ClickHouse 下文使用CH代替ClickHouse的称呼. 单机版本 docker run -d \ --name clickhouse-server \ -p 9000:9 ...

  7. 如何在ubuntu下安装detectron2_Anaconda中安装Cascade RCNN(Detectron)的若干问题

    安装参考https://github.com/zhaoweicai/Detectron-Cascade-RCNN/blob/master/INSTALL.md 1.对于在 python detectr ...

  8. centos7 安装mysql8_CentOS7中安装MySQL8.0.21爬坑记录

    在CentOS7.3中安装了MySQL8.0.21之后,就开启了一段漫长的爬坑历程,简要回顾如下: 一.从Win10中用Navicat连接安装好的MySQL服务器 出现如下异常:1045 - Acce ...

  9. wxpython安装linux_Ubuntu中安装wxPython

    wxPython是Python编程语言的一个GUI工具箱.他使得Python程序员能够轻松的创建具有健壮.功能强大的图形用户界面的程序.它是Python语言对流行的wxWidgets跨平台GUI工具库 ...

最新文章

  1. Linux Xmanager
  2. APP压力測试新手教程
  3. 【numpy】中,对axis【轴】axis=0 axis=1的理解
  4. halcon区域腐蚀膨胀算子_Halcon算子
  5. STL_算法_区间的比較(equal、mismatch、 lexicographical_compare)
  6. Install Eclipse 3.7 Indigo and configure Eclipse
  7. 整理Android应用源代码分享
  8. 记录解决Mac系统升级后三指取词、词典失效问题的过程
  9. 蓝桥杯历年(省赛)试题汇总及试题详解
  10. pycharm专业版下载安装与使用
  11. python绘图技巧(高清图)
  12. 嵌入式和单片机的区别是什么
  13. Android ProfileOwner 应用的能力
  14. JavaScript常见问题及答案
  15. 数学建模三大类模型适用场景及建模方法(纯干货)
  16. 活码二维码免费平台有哪些呢?
  17. 2016中国IT用户满意度总体保持平稳
  18. 03 ,似然函数求解 :目标函数推导,对数似然求解,最小二乘法
  19. Android学习笔记之Android平台架构和特性
  20. 菜鸟学Java——简单验证码生成(Java版)

热门文章

  1. js中计算一个时间点加上一个时间段后的时间
  2. 计算机图形学二维图形基本变换实验原理,【实验课件】二维及三维图形基本变换的实现...
  3. jenkin自动部署VUE
  4. 怎么用计算机圣诞节快乐,苹果Mac使用技巧:让你的电脑在圣诞节飘起雪花
  5. pb系统的twap交易指令_几家大的券商的PB系统以及算法交易概况大致是怎样的?...
  6. 合并分区怎么操作?图文详解
  7. 淘宝助理CSV文件导入后无法显示宝贝图片的解决办法
  8. xgboost处理二分类问题原理
  9. 京东xdd-puls保姆级教程整合(附加QQ机器人教程)【2022.1.24更新补充】
  10. ElasticFusion