Python操作MySQL数据库实现数据导入

主要参考了博文python3基础:操作mysql数据库

这篇文章写的很详细,基本上把用Python操作MySQL的各种操作都详细解释了,也有配图。

注:在使用Python进行操作之前,首先需要在本地的MySQL Command Line Client命令行客户端中实现用户注册、登录、创建数据库、数据表、定义表中的各条目属性等操作,这些操作不在本文中叙述。

一、操作流程

  • 引用API模块
  • 获取与数据库的连接
  • 执行sql语句与存储过程
  • 关闭数据库连接

二、具体操作

1.安装pymysql
python3 与MySQL 进行交互编程需要安装 pymysql 库,故首先在命令行中使用如下命令安装pymysql:pip install pymysql
2.连接数据库

import pymysql
#打开数据库连接
conn = pymysql.connect('localhost',user = "root",passwd = "******",db = "testdb")
print (conn)
print (type(conn))

3.获取游标
要想操作数据库,光连接数据是不够的,必须拿到操作数据库的游标,才能进行后续的操作,比如读取数据、添加数据。通过获取到的数据库连接实例conn下的cursor()方法来创建游标。游标用来接收返回结果:

import pymysql
#打开数据库连接
conn = pymysql.connect('localhost',user = "root",passwd = "123456",db = "testdb")
#获取游标
cursor=conn.cursor()
print(cursor)

说明:cursor返回一个游标实例对象,其中包含了很多操作数据的方法,比如执行sql语句。
4.执行sql语句execute和executemany
execute(query,args=None)

  • 函数作用:执行单条的sql语句,执行成功后返回受影响的行数
  • 参数说明:
    query:要执行的sql语句,字符串类型
    args:可选的序列或映射,用于query的参数值。如果args为序列,query中必须使用%s做占位符;如果args为映射,query中必须使用%(key)s做占位符

executemany(query,args=None)

  • 函数作用:批量执行sql语句,比如批量插入数据,执行成功后返回受影响的行数
  • 参数说明:
    query:要执行的sql语句,字符串类型
    args:嵌套的序列或映射,用于query的参数值

注意:
1.数据库性能瓶颈很大一部份就在于网络IO和磁盘IO,将多个sql语句放在一起,只执行一次IO,可以有效的提升数据库性能。推荐此方法
2.用executemany()方法一次性批量执行sql语句,固然很好,但是当数据一次传入过多到server端,可能造成server端的buffer溢出,也可能产生一些意想不到的麻烦。所以,合理、分批次使用executemany是个合理的办法。

三、完整代码

Python操作MySQL数据库实现数据导入_第1张图片

你可能感兴趣的:(python,mysql,数据库)