目前,数据库主要有两种形式,一种是非关系型数据库,另一种是关系型数据库。目前,我们用得非常广泛的一种数据库类型是关系型数据库,它可以分为以下几种:
- Oracle:
付费产品,主要是银行在用(万一出错了有Oracle背锅)
- DB2:
付费产品,IBM产品
- SQL Sever:
付费产品,微软产品,windows专用
- PostgreSQL:
免费产品,主要是高校学术上使用
- MySQL:
大众,免费,开源
作为手无寸金的大学生,我们应该用哪种数据库呢?当然是MySQL。一方面是因为MySQL免费,另一方面是因为普及率最高,出了错,可以很容易找到解决方法。而且,围绕MySQL有一大堆监控和运维的工具,安装和使用很方便。所以,本文接下来也会介绍如何用Python来操作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中的表进行操作。
目前,关于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)框架,将关系数据库的表结构映射到对象上,隐藏了数据库操作背后的细节,简化了数据操作。
转载请注明:XAMPP中文组官网 » 利用python来对MySQL数据库进行操作