一、基本介绍
Python3 操作 MySQL 数据库 可以使用的模块是 pymysql 和 MySQLdb。 这个两个模块都是通过自己的 API 执行原生的 SQL 语句实现的。 MySQLdb 是最早出现的一个操作 MySQL 数据库的模块,核心由C语言编写,接口精炼,性能最棒,缺点是环境依赖较多,安装稍复杂,特别是 windows 中不好安装。更新较慢。 pymysql 为替代 MySQLdb 而生,纯 Python 实现,API 的接口与 MySQLdb 完全兼容,安装方便。
Python3.7安装链接: https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz(Linux版)
1、安装Python3.7
# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel gcc# wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz# tar -xvzf Python-3.6.5.tgz -C /usr/local/# cd /usr/local/Python-3.6.5/# ./configure prefix=/usr/local/python3.6# make && make install
2、配置环境变量
# vim /etc/profile### 添加到最后PYTHON_HOME=/usr/local/python3.6PATH=$PYTHON_HOME/bin:$PATH# source /etc/profile
[root@localhost ~]# python3 -VPython 3.7.2[root@localhost ~]# pip3 -Vpip 9.0.3 from /usr/local/python3.7/lib/python3.7/site-packages (python 3.7)
3、pymysql连接MySQL
pymsql是Python中操作MySQL的模块
[root@localhost ~]# pip3 install pymysql

[root@localhost ~]# cat mysql.py#!/usr/local/python3.6/bin/python3import pymysql# 创建连接conn = pymysql.connect(host='192.168.91.129',port=3306,user='root',passwd='Youngfit@123456',db='youngfit',charset='utf8')# 获取游标对象cursor = conn.cursor()# 定义sql语句create_table1_sql = """create table t2(id int,name varchar(20))"""cursor.execute(create_table1_sql)[root@localhost ~]# python3 mysql.py
4、mysqlclient连接MySQL
安装系统依赖库和编译器
[root@localhost ~]# yum install mariadb-devel gcc
如果是系统自带的 python2环境,安装 Python2 依赖库
python-devel
如果是 python3环境,编译安装 python3 后就不用再操作了
安装mysqlclient
[root@localhost ~]# pip3 install mysqlclient

import MySQLdb# 创建连接db=MySQLdb.connect(host='192.168.91.129',port=3306,user='root',passwd='Youngfit@123456',db='youngfit',charset='utf8')# 获取游标对象cursor2 = db.cursor()# 执行sql语句cursor2.execute('''insert into youngfit.t2 values(1,'feige')''')# 提交db.commit()# 关闭游标对象cursor2.close()# 关闭连接db.close()

# 2.mysqlclient方式操作数据库import MySQLdbusername = input("请输入用户名:")password = input("请输入密码:")sql = input('''请输入执行的sql语句:''')db = MySQLdb.connect(host='192.168.91.133',port=3306,user=username,passwd=password,db='youngfit',charset='utf8')cursor2 = db.cursor()cursor2.execute(sql)db.commit()cursor2.close()db.close()



