千家信息网

如何使用Python玩转MySQL数据库

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇"如何使用Python玩转MySQL数据库"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看
千家信息网最后更新 2026年11月02日如何使用Python玩转MySQL数据库

这篇"如何使用Python玩转MySQL数据库"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"如何使用Python玩转MySQL数据库"文章吧。

一、背景

我是在Anaconda notebook中进行连接实验的,环境Python3.6,当然也可以在Python Shell里面进行操作。

最常用也最稳定的用于连接MySQL数据库的python库是PyMySQL。

二、基本操作

1、安装PyMySQL库

最简单的方式:

在命令行输入 pip install pymysql

或者:

下载whl文件[1]进行安装,安装过程自行百度。

2、安装MySQL数据库

MySQL数据库有两种:

MySQL和MariaDB

我用的是MariaDB,它是MySQL的一个分支。

两者在绝大部分性能上是兼容的,使用起来感觉不到啥区别。

给出下载地址:MySQL[2],MariaDB[3],安装过程很简单,一路Next Step,不过要记好密码。

有个小插曲,MySQL和MariaDB相当于姐姐妹妹的关系,两者由同一个人(Widenius)创建的。

MySQL被Oracle收购后,Widenius先生觉得不爽,于是搞了个MariaDB,可以完全替代MySQL。

大牛就是任性。

3、SQL基本语法

下面要用SQL的表创建、查询、数据插入等功能,这里简要介绍一下SQL语言的基本语句。

  • 查看数据库:SHOW DATABASES;

  • 创建数据库:CREATE DATEBASE 数据库名称;

  • 使用数据库:USE 数据库名称;

  • 查看数据表:SHOW TABLES;

  • 创建数据表:CREATE TABLE 表名称(列名1 (数据类型1),列名2 (数据类型2));

  • 插入数据:INSERT INTO 表名称(列名1,列名2) VALUES(数据1,数据2);

  • 查看数据:SELECT * FROM 表名称;

  • 更新数据:UPDATE 表名称 SET 列名1=新数据1,列名2=新数据2 WHERE 某列=某数据;

4、连接数据库

安装好必要得文件和库后,接下来正式开始连接数据库吧,虽然神秘却不难哦!

#首先导入PyMySQL库import pymysql#连接数据库,创建连接对象connection#连接对象作用是:连接数据库、发送数据库信息、处理回滚操作(查询中断时,数据库回到最初状态)、创建新的光标对象connection = pymysql.connect(host = 'localhost' #host属性                            user = 'root' #用户名                            password = '******'  #此处填登录数据库的密码                            db = 'mysql' #数据库名                            )

执行这段代码就连接好了!

5、增删改查操作

首先来查看一下有哪些数据库:

#创建光标对象,一个连接可以有很多光标,一个光标跟踪一种数据状态。#光标对象作用是:、创建、删除、写入、查询等等cur = connection.cursor()#查看有哪些数据库,通过cur.fetchall()获取查询所有结果print(cur.fetchall())

打印出所有数据库:

(('information_schema',),('law',),('mysql',),('performance_schema',),('test',))

在test数据库里创建表:

#使用数据库testcur.execute('USE test')#在test数据库里创建表student,有name列和age列cur.execute('CREATE TABLE student(name VARCHAR(20),age TINYINT(3))')

向数据表student中插入一条数据:

sql = 'INSERT INTO student (name,age) VALUES (%s,%s)'cur.execute(sql,('XiaoMing',23))

查看数据表student内容:

cur.execute('SELECT * FROM student')print(cur.fetchone())

打印输出为:('XiaoMing', 23)

Bingo!是我们刚刚插入的一条数据

最后,要记得关闭光标和连接:

#关闭连接对象,否则会导致连接泄漏,消耗数据库资源connection.close()#关闭光标cur.close()

OK了,整个流程大致如此。

当然这里都是很基础的操作,更多的使用方法需要在PyMySQL官方文档[4]里去寻找。

三、导入大数据文件

以csv文件为例,csv文件导入数据库一般有两种方法:

1、通过SQL的insert方法一条一条导入,适合数据量小的CSV文件,这里不做赘述。

2、通过load data方法导入,速度快,适合大数据文件,也是本文的重点。

样本CSV文件如下:

总体工作分为3步:

1、用python连接mysql数据库;

2、基于CSV文件表格字段创建表;

3、使用load data方法导入CSV文件内容。

sql的load data语法简介:

LOAD DATA LOCAL INFILE 'csv_file_path' INTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES

csv_file_path 指文件绝对路径 table_name指表名称 FIELDS TERMINATED BY ','指以逗号分隔 LINES TERMINATED BY '\\r\\n'指换行 IGNORE 1 LINES指跳过第一行,因为第一行是表的字段名

下面给出全部代码:

#导入pymysql方法import pymysql#连接数据库config = {:'',         :3306,         :'username',         :'password',         :'utf8mb4',         :1         }conn = pymysql.connect(**config)cur = conn.cursor()#load_csv函数,参数分别为csv文件路径,表名称,数据库名称def load_csv(csv_file_path,table_name,database='evdata'):   #打开csv文件   file = open(csv_file_path, 'r',encoding='utf-8')   #读取csv文件第一行字段名,创建表   reader = file.readline()   b = reader.split(',')   colum = ''   for a in b:       colum = colum + a + ' varchar(255),'   colum = colum[:-1]   #编写sql,create_sql负责创建表,data_sql负责导入数据   create_sql = 'create table if not exists ' + table_name + ' ' + '(' + colum + ')' + ' DEFAULT CHARSET=utf8'   data_sql = "LOAD DATA LOCAL INFILE '%s' INTO TABLE %s FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES" % (csv_filename,table_name)   #使用数据库   cur.execute('use %s' % database)   #设置编码格式   cur.execute('SET NAMES utf8;')   cur.execute('SET character_set_connection=utf8;')   #执行create_sql,创建表   cur.execute(create_sql)   #执行data_sql,导入数据   cur.execute(data_sql)   conn.commit()   #关闭连接   conn.close()   cur.close()

以上就是关于"如何使用Python玩转MySQL数据库"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

数据 数据库 文件 名称 光标 内容 对象 方法 数据表 查询 一行 字段 代码 作用 密码 就是 文章 更多 状态 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云之行互联网科技 互联网佳科技有限公司 苏州找大状互联网科技有限公司 科技互联网企业 云信互联网科技有限公司 金融科技还是互联网 长亮科技 互联网金融 富国互联网科技创新基金 福州新华互联网科技学校 知乎 阿里互联网科技公司 上海宁丞科技互联网 开一家科技互联网公司需要多少钱 中国互联网十大科技股排名 晋城互联网科技 科技互联网公司两年变化 深圳互联网科技园地址 杭州融税互联网科技有限公司 平安好医生打造互联网科技医疗 科技发展第三阶段互联网时代 武汉亿视互联网科技有限公司 互联网新科技 上海睿民互联网科技有限公司 互联网科技工作委员会主任 互联网科技行业发展 互联网电商科技 互联网科技作文 上海亿帐通互联网科技 北京华百购互联网科技有限公司 花神(南京)互联网科技有限公司 伍佰万互联网科技是干嘛的
0