前言
pymysql包 包含了一个基于 PEP-249的纯python的MySQLclient,大多数公共API与mysqlclient和MyAQLdb兼容。
要求:
- Python
- Cpython:2.7版本或者大于3.5版本
- PyPy:最新版本
- MySQL Server:
- MySQL >=5.5
- Mariadb >=5.5
安装:
pymysql是第三方模块,可以使用pip、conda等命令安装
pip install pymysql
conda install pymysql
使用pycharm的话除了上面两种安装方式,还可以使用project python 安装第三方模块:
File >> setting >> Project:python >> project interpreter >> 右边 + ,查找pymysql然后install即可
pymysql
先记一个大坑: 由于用的是虚拟机vmvare,忘记关闭firewalld服务,导致一直连接不上去,后面关掉就顺利连接上了。
1.navicat的连接数据库服务,不需要连接ssh
2.封装的TCP协议。服务端直接连接就好了。
创建一个表
CREATE TABLE `reg` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`age` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4;
通过navicat打开,它的样子是这样的:
一般流程:
1.创建连接返回值为Connection的实例对象connection连接
2.根据已有的连接对象connection创建curser游标对象
3.执行curser操作的方法
4.提交事务,释放资源
1.创建connection对象
pymysql.connect常用参数说明:
参数 | 参数类型 | 含义 |
---|---|---|
host | str | MySQL服务器端地址 |
user | str | MySQL用户名 |
password | str | MySQL用户密码 |
database | str | 数据库名称 |
port | int | MySQL服务端端口号,默认3306 |
charset | str | 连接编码 |
更多参数请查看py源码
import pymysql
from pymysql.cursors import DictCursor
IP = "192.168.48.132" # mysql所在的服务host
USER = "ammmao" # mysql用户
PASSWORD = "353231" # mysql密码
DATABASE = "test"
PORT = 3306 # mysql服务的端口,默认是3306
CHARSET = "utf8"
conn = None
try:
conn = pymysql.connect(IP,USER,PASSWORD,DATABASE,PORT,charset<