python3对接mysql数据库实例详解

yipeiwu_com5年前Python基础

Python3 MySQL数据库连接,假设MySQL数据库已经安装好了,并创建好了数据库(后面抽点时间将数据库的安装总结下)。

 PyMySQL是Python3中用于连接MySQL服务器的一个库,Python2中则使用mysqldb。因此你在编码之前一定要看清楚自己使用的是哪个版本,博主刚开始没有意识到这个导致后面运行时报错,花了好久才定位出原因,大家在用的时候一定要引以为戒。

这里再回顾下查看python版本号的操作:命令行输入python前提是已经将python安装路径加入了系统环境变量,配置正确就会出现以下相应的版本号。

查看是否安装PyMySQL:pip list,如果有就不用安装,否则需要安装PyMySQL。

安装PyMySQL,用pip安装:pip install PyMySQL

查询找到PyMySQL,说明安装好了。

操作数据一般步骤是:

  1. 连接数据库 pymysql.connect(host = 'localhost',user = 'root',passwd ='xxxxxxxxx',db = 'fbl' )
  2. 创建游标 cursor = db.cursor()
  3. 执行sql命令 # cursor.execute(Mysql cmd)
  4. 提交 db.commit()
  5. 关闭数据库db.close()
#!/usr/bin/env python3
#coding:utf-8
import pymysql

# 打开数据库连接
db = pymysql.connect(host = 'localhost',user = 'root',passwd ='xxxxxxxxx',db = 'fbl' )

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 使用 execute() 方法执行 SQL 查询 
# cursor.execute("SELECT VERSION()")
cmd_list = []
cmd_list.append('show tables;')
cmd_list.append('insert into hunpo(title,url) values("adfsf","qml");')
cmd_list.append('insert into hunpo(title,url) values("qml","fbl");')

cmd_list.append('select * from hunpo;')
for cmd in cmd_list:
 cursor.execute(cmd)
 data = cursor.fetchone()
 print(data)
#提交数据
db.commit()
# 关闭数据库连接
db.close()

 

后面将会讲解如何通过爬虫将爬取到的链接报存到数据库

以上所述是小编给大家介绍的python3对接mysql数据库详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)

首先说下,由于最新的 0.8 版还是开发版本,因此我使用的是 0.79 版,API 也许会有些不同。因为我是搭配 MySQL InnoDB 使用,所以使用其他数据库的也不能完全照搬本文。...

在Python3 numpy中mean和average的区别详解

mean和average都是计算均值的函数,在不指定权重的时候average和mean是一样的。指定权重后,average可以计算一维的加权平均值。 具体如下: import num...

详解设计模式中的工厂方法模式在Python程序中的运用

详解设计模式中的工厂方法模式在Python程序中的运用

工厂方法(Factory Method)模式又称为虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,属于类的创建型模式。...

python使用fork实现守护进程的方法

os模块中的fork方法可以创建一个子进程。相当于克隆了父进程 os.fork() 子进程运行时,os.fork方法会返回0;  而父进程运行时,os.fork方法会返回子进程...

Python中的集合介绍

Python中的集合介绍

1.集合的定义 集合的元素是不可重复的 s = {1,2,3,1,2,3,4,5} print(s) print(type(s)) s1 = {1} print(s1) print(...