Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何使用python连接MySQL数据库?

如何使用python连接MySQL数据库?

作者头像
派大星的数据屋
发布于 2022-04-02 11:06:41
发布于 2022-04-02 11:06:41
11.3K00
代码可运行
举报
运行总次数:0
代码可运行

数据分析离不开数据库,如何使用python连接数据库呢?听我娓娓道来哈

该笔记参考了PyMySQL官方文档和《python数据采集》关于数据存储的部分,欢迎大家去阅读原著,相信会理解的更加透彻。

补充:文末增加Oracle数据库的连接方式,大同小异。


背景:

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

最常用也最稳定的用于连接MySQL数据库的python库是PyMySQL,所以本文讨论的是利用PyMySQL连接MySQL数据库,以及如何存储数据。

下面开始:

1、安装PyMySQL库

最简单的方式:在命令行输入 pip install pymysql

或者:下载whl文件进行安装,安装过程自行百度。

2、安装MySQL数据库

MySQL数据库类型有两种:MySQL和MariaDB,我用的是后者MariaDB。

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

给出下载地址:MySQL,MariaDB,安装过程很简单,一路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、连接数据库

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

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

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

5.使用python代码操作MySQL数据库

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

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

打印出所有数据库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(('information_schema',),
('law',),
('mysql',),
('performance_schema',),
('test',))

在test数据库里创建表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#使用数据库test
cur.execute('USE test')
#在test数据库里创建表student,有name列和age列
cur.execute('CREATE TABLE student(name VARCHAR(20),age TINYINT(3))')

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sql = 'INSERT INTO student (name,age) VALUES (%s,%s)'
cur.execute(sql,('XiaoMing',23))

查看数据表student内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cur.execute('SELECT * FROM student')
print(cur.fetchone())

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#关闭连接对象,否则会导致连接泄漏,消耗数据库资源
connection.close()
#关闭光标
cur.close()

OK了,整个流程大致如此。当然这里都是很基础的操作,更多的使用方法需要在PyMySQL官方文档里去寻找。


补充:

Oracle数据库连接

1、下载安装外包cx_Oracle,方式:在命令行输入 pip install cx_Oracle

2、连接

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
conn = oracle.connect('username/password@host:port/sid')#分别填用户名/密码/数据库所在IP地址:port/sid

3、获取光标对象curser

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cur = conn.cursor()

4、使用cursor进行各种操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cur.execute(sql语句)

5、关闭cursur、conn

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cursor.close()
conn.close()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python大数据分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
教你使用Python玩转MySQL数据库,大数据导入不再是难题!
数据分析离不开数据库,如何使用python连接MySQL数据库,并进行增删改查操作呢?
龙哥
2020/03/27
3.9K0
教你使用Python玩转MySQL数据库,大数据导入不再是难题!
数据分析离不开数据库,如何使用python连接MySQL数据库,并进行增删改查操作呢?
派大星的数据屋
2022/04/03
1.3K0
教你使用Python玩转MySQL数据库,大数据导入不再是难题!
Python接入mysql数据库 原
右侧有个database,点开后左上角有个“+”符号,选择Data Source-Mysql
晓歌
2018/08/15
7650
Python接入mysql数据库
                                                                            原
Python笔记(十二):操作数据库
(一)      前言     本文说明如何连接Oracle、MySQL、sqlserver,以及执行sql、获取查询结果等。 (二)      DB-API DB-API阐明一系列所需对象和数据库访问机制的标准。 Python操作数据库的模块如果遵循DB-API的标准(应该都会遵循这个标准),函数、方法的名称及功能应该是差不多的(下面几张表格列出了部分内容),就是传的参数可能有点区别。                                                            
free赖权华
2018/05/02
1.1K0
Python笔记(十二):操作数据库
Pandas操作MySQL数据库
查看一个本地数据库中某个表的数据。这份数据是《MySQL经典50题》的一个表之一:
皮大大
2023/08/25
1K0
使用Python操作MySQL和Oracle数据库
前面两篇文章已经说过将数据存储到SQLite和本地文件中,如果还没有来得及看,可点击如下快速链接:
JiekeXu之路
2019/08/15
3.2K0
[Python从零到壹] 八.数据库之MySQL和Sqlite基础操作万字详解
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,在数据库管理系统中,用户可以对数据进行新增、删除、更新、查询等操作,从而转变为用户所需要的各种数据,并进行灵魂的管理。
Eastmount
2021/12/02
1.6K0
[Python从零到壹] 八.数据库之MySQL和Sqlite基础操作万字详解
如何通过Python将CSV文件导入MySQL数据库?
1、通过SQL的insert方法一条一条导入,适合数据量小的CSV文件,这里不做赘述。
派大星的数据屋
2022/04/02
10.9K0
如何通过Python将CSV文件导入MySQL数据库?
Python-pymysql
如果要让返回的数据带上列名,也就是要返回字典,那么就需要用到cursors.DictCursor。
职场亮哥
2020/10/10
1.3K0
python3基础:操作mysql数据库
基本操作: 登陆:mysql -uroot -h127.0.0.1 -P3306 -p mysql -uroot -p(本机不用写host) 退出mysql:ctrl+z+回车,或者exit 端口号默认是3306,但是可以通过安装目录下的配置文件修改。
全栈程序员站长
2022/09/05
1.2K0
使用python读取mysql数据库并进行数据的操作
其他对应的库可以有以下选择:  mysqldb,oursql, PyMySQL, myconnpy 等,参考如下链接:  http://dev.mysql.com/doc/connector-python/en/index.html  http://packages.python.org/oursql/  https://github.com/petehunt/PyMySQL/  https://launchpad.net/myconnpy
双面人
2019/04/10
4.4K0
Python3 MySQL 数据库连接 - PyMySQL 驱动
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2 中则使用 mysqldb
十二惊惶
2024/02/28
7470
原来Python自带了数据库,用起来真方便!
Python作为数据科学主流语言,被广泛用于数据读存、处理、分析、建模,可以说是无所不能。
朱小五
2020/09/24
1.2K0
原来Python自带了数据库,用起来真方便!
Python也能操作Mysql数据库
我们在进行Python编程的时候,时常要将一些数据保存起来,其中最方便的莫过于保存在文本文件了。但是如果保存的文件太大,用文本文件就不太现实了,毕竟打开都是个问题,这个时候我们需要用到数据库。提到数据库,相信大部分人都不会陌生,今天我们要学的就是数据库中小编自认为最棒的Mysql数据库了。
Python进阶者
2021/08/20
1.1K0
python连接数据库
简介: PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
GeekLiHua
2025/01/21
2650
python连接数据库
PyMySQL入门
PyMySQL是一个Python语言下的MySQL数据库驱动程序,为Python提供了一个简单易用的接口来操作MySQL数据库。本文将介绍如何入门使用PyMySQL。
大盘鸡拌面
2023/10/27
5930
Python操作Oracle数据库:cx_Oracle
Python操作Oracle数据库多用cx_Oracle这个第三方扩展,总体而言,cx_Oracle的使用方式与Python操作MySQL数据库的pymysql库还是很相似的,如果还没有安装,可以通过下面的命令进行安装: $ pip install -i https://pypi.douban.com/simple cx_oracle 使用前导入:
Ai学习的老章
2020/05/01
4.7K0
Python操作Mysql(连接、数据探查、写Excel)
事情是这样的,领导安排一个活,详细探查xx公司的数据治理,包括数据源,数据流,数据质量。
不吃西红柿
2022/09/19
7660
Python操作Mysql(连接、数据探查、写Excel)
MySQL数据库的高级使用
推荐文章: Liunx系列: 1、Linux基础命令 2、Linux进阶命令 任务编程系列: 1、多任务编程 - 1 2、多任务编程 - 2 前端技术: 1、JavaScript
用户9399690
2022/01/20
2K0
MySQL数据库的高级使用
(数据科学学习手札51)用pymysql来操控MySQL数据库
  pymysql是Python中专门用来操控MySQL数据库的模块,通过pymysql,可以编写简短的脚本来方便快捷地操控MySQL数据库,本文就将针对pymysql的基本功能进行介绍;
Feffery
2018/10/26
5350
相关推荐
教你使用Python玩转MySQL数据库,大数据导入不再是难题!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验