10分钟教你Python+MySQL数据库操作

本文介绍如何利用Python来对MySQL数据库进行操作,本文将主要从以下几个方面展开介绍:
1.数据库介绍
2.MySQL数据库安装和设置
3.Python操作MySQL
在Python3.X上安装MySQL驱动
创建数据库连接
创建数据表
增、改、删、查
分组、聚合
按批量读取和处理数据
4.小结
01 数据库介绍
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,能直接通过条件快速查询到指定的数据 。随着信息技术和市场的发展,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式 。
目前,数据库主要有两种形式,一种是非关系型数据库,另一种是关系型数据库 。目前,我们用得非常广泛的一种数据库类型是关系型数据库,它可以分为以下几种:
Oracle:付费产品,主要是银行在用(万一出错了有Oracle背锅)
DB2:付费产品,IBM产品
SQL Sever:付费产品,微软产品,windows专用
PostgreSQL:免费产品,主要是高校学术上使用
MySQL:大众,免费,开源
作为手无寸金的大学生,我们应该用哪种数据库呢?当然是MySQL 。一方面是因为MySQL免费,另一方面是因为普及率最高,出了错,可以很容易找到解决方法 。而且,围绕MySQL有一大堆监控和运维的工具,安装和使用很方便 。所以,本文接下来也会介绍如何用Python来操作MySQL 。
02 MySQL安装和设置2.1 下载安装:
STEP1****:MySQL官方网站上下载最新的MySQL Installer 8.0.14版本,下载链接为:
https://dev.mysql.com/downloads/installer/
STEP2:按照指示操作默认安装,在安装时,MySQL会要求我们设置一个本地登陆账号,账号名一般命为root,端口为3306,自定义一个password即可 。
2.2 MySQL workbench创建用户与授权STEP1:创建新用户 。以root用户登录MySQL workbench,先选择users and privileges,然后选择下方的add account去添加用户 。
STEP2:我们以创建好的blank为例,创建好后在左边的表中出现了blank这个用户 。返回MySQL Workbench主页,新建MySQL Connection,用户名和密码为新创建的用户名和密码,这个时候,我们就能看到除了root用户外,还能看到新创建的blank这个user账户了 。
STEP3:创建数据库和数据表 。在root账户中新建一个名字为test_s的Schema,然后我们会在左下角的schemas中看到我们新建的schema 。对于Schema,在MySQL中,它等同于database,它是数据库对象的集合,这个集合包括了各种对象,如Tables(表)、Views(视图)、Sorted Procedures(存储过程)、Functions等,我们可以选中Table,点击鼠标右键,选择creat table,即可在该数据库下创建数据表 。创建过程和创建数据库类似 。
STEP4****:设置用户权限:而当我们用blank连接数据库时,是没有test_s这个schema的,这个时候我们需要通过root开放权限给blank这个用户 。返回root用户操作选项卡,选择users and privileges,选中blank用户,再选择schema privileges,点击add entry;在弹出来的窗口中选择权限范围,这里我们选择指定的test_s给blank这个user,点击ok;双击tets_s,privileges全部授予,点击select all 。
STEP5:进入主界面,重新进入blank用户操作选项卡,我们会在schemas中看到test_s这个schema 。blank这个用户可以对root授权的test_s这个schema中的表进行操作 。
至此,我们完成了MySQL中用户的新建和授权 。
03 Python操作MySQL
目前,关于Python操作数据库主要有以下几种方法:
MySQLdb的使用
MySQLdb是用于Python连接MySQL数据库的接口,它实现了Python数据库API规范V2.0,基于MySQL C API上建立的,目前只支持Python2.x 。
PyMySQL的使用
PyMySQL是Python中用于连接MySQL服务器的一个库,它支持Python3.x,是一个纯Python写的MySQL客户端,它的目标是替代MySQLdb 。PyMySQL在MIT许可下发布 。
mysql.connector 的使用
由于 MySQL 服务器以独立的进程运行,并通过网络对外服务,所以,需要支持 Python 的 MySQL 驱动来连接到 MySQL 服务器 。
目前,有两个 MySQL 驱动:
mysql-connector-python:是 MySQL 官方的纯 Python 驱动
MySQL-python :是封装了 MySQL C驱动的 Python 驱动
SQLAlchemy的使用
是一种ORM(Object-Relational MApping)框架,将关系数据库的表结构映射到对象上,隐藏了数据库操作背后的细节,简化了数据操作 。
3.1 在Python3.X上安装MySQL驱动
STEP1:由于MySQL官方提供了mysql-connector-python驱动 。安装时,在Anaconda Prompt中输入:
conda install mysql-connector-python
STEP2:使用以下代码来测试mysql-connector是否安装成功:


推荐阅读