Python筑基之旅-MySQL数据库(一)

目录

一、MySQL数据库

1、简介

2、优点

2-1、开源和免费

2-2、高性能

2-3、可扩展性

2-4、易用性

2-5、灵活性

2-6、安全性和稳定性

2-7、丰富的功能

2-8、结合其他工具和服务

2-9、良好的兼容性和移植性

3、缺点

3-1、对大数据的支持有限        

3-2、缺乏全文索引

3-3、缺乏地理空间数据支持

3-4、存储引擎的局限性

3-5、配置和管理复杂性

3-6、安全性问题

4、应用

4-1、Web应用开发

4-1-1、动态网站

4-1-2、内容管理系统(CMS)

4-2、企业应用

4-2-1、企业资源规划(ERP)

4-2-2、客户关系管理(CRM)

4-3、数据分析与数据挖掘

4-3-1、数据仓库

4-3-2、数据挖掘与机器学习

4-4、游戏开发

4-4-1、在线游戏

4-4-2、游戏统计与分析

4-5、移动应用开发

4-5-1、后端数据存储

4-5-2、用户认证与授权

4-6、物联网(IoT)

4-6-1、设备数据存储

4-7、电子商务

4-7-1、购物车与订单管理

4-7-2、库存管理与物流跟踪

4-8、金融与银行业

4-8-1、账户管理

4-8-2、风险管理

5、安装及配置

5-1、版本选择

5-2、下载MySQL 8.0

5-3、安装MySQL 8.0

5-4、配置MySQL 8.0

二、推荐阅读 

1、Python函数之旅

2、Python算法之旅

3、博客个人主页

一、MySQL数据库

1、简介

        MySQL是一个关系型数据库管理系统(Relational Database Management System,RDBMS),由瑞典MySQL AB公司开发,现在属于Oracle旗下产品,是最流行的关系型数据库管理系统之一,尤其在WEB应用方面,它是最好的RDBMS应用软件之一。

2、优点

2-1、开源和免费

        MySQL是一个开源项目,这意味着任何人都可以查看、修改和使用其源代码,它提供了免费的社区版,为开发者和初创企业提供了低成本的解决方案。

2-2、高性能

        MySQL经过优化,能够处理大量的数据和高并发的访问请求,它支持多种存储引擎,如InnoDB(支持事务处理和外键)、MyISAM(高性能全文搜索)等,可以根据不同的应用需求选择合适的存储引擎。

2-3、可扩展性

        MySQL支持分布式架构,可以通过分库分表、读写分离等方式实现水平扩展,它还提供了集群和复制功能,可以确保数据的高可用性和容错性。

2-4、易用性

        MySQL提供了丰富的文档和社区支持,使得学习和使用变得相对容易,它使用SQL语言作为查询语言,与大多数关系型数据库管理系统兼容。

2-5、灵活性

        MySQL支持多种操作系统,包括Linux、Windows、macOS等,它提供了多种编程语言的API和连接器,如Java、Python、PHP等,方便开发者集成到各种应用中。

2-6、安全性和稳定性

        MySQL提供了强大的用户权限和访问控制功能,可以保护数据的安全性,它还提供了数据加密、审计日志等安全特性,确保数据的完整性和可审计性,MySQL经过长时间的测试和优化,具有出色的稳定性和可靠性。

2-7、丰富的功能

        MySQL支持存储过程、触发器、视图等高级功能,使得开发者能够更灵活地操作数据,它还提供了全文搜索、地理空间数据支持、JSON处理等功能,满足不同应用的需求。

2-8、结合其他工具和服务

        MySQL可以与许多流行的开发工具、框架和服务集成,如Docker、Kubernetes、AWS RDS等,这使得开发者能够更轻松地构建、部署和管理MySQL应用。

2-9、良好的兼容性和移植性

        MySQL与其他关系型数据库管理系统(如Oracle、SQL Server等)在SQL语法和功能上具有较高的兼容性,这使得开发者能够更容易地将应用从其他数据库迁移到MySQL上。

        总之,MySQL数据库的开源性、高性能、可扩展性、易用性、灵活性、安全性和稳定性等特点使其成为众多开发者和企业的首选关系型数据库管理系统。

3、缺点

3-1、对大数据的支持有限        

        相比于一些专门为大数据设计的数据库系统(如Hadoop、Spark等),MySQL在处理超大规模数据集时可能会遇到性能瓶颈。

3-2、缺乏全文索引

        在早期的版本中,MySQL的MyISAM存储引擎支持全文索引,但InnoDB存储引擎默认不支持。虽然可以通过第三方插件或搜索引擎(如Elasticsearch)来实现全文搜索,但这会增加额外的复杂性和成本。

3-3、缺乏地理空间数据支持

        MySQL对地理空间数据的支持相对较弱,如果需要处理与地理位置相关的数据,可能需要使用专门的GIS数据库系统或扩展MySQL的功能。

3-4、存储引擎的局限性

        虽然MySQL支持多种存储引擎,但每种存储引擎都有其局限性。例如,InnoDB存储引擎支持事务和行级锁定,但在某些情况下可能会比MyISAM慢;MyISAM不支持事务和行级锁定,但在某些只读或大量读取的场景下可能表现更好。

3-5、配置和管理复杂性

        MySQL的配置和管理相对复杂,需要一定的专业知识和技能,对于初学者来说,可能需要花费更多的时间来学习和掌握。

3-6、安全性问题

        虽然MySQL提供了多种安全功能和权限控制机制,但在某些情况下仍然可能存在安全漏洞或风险,因此,需要定期更新和修补MySQL的安全漏洞,并加强密码管理和访问控制。

4、应用

        MySQL数据库的应用场景非常广泛,几乎涵盖了所有需要存储、管理和查询数据的领域,其常见的应用场景有:

4-1、Web应用开发
4-1-1、动态网站

        MySQL常用于构建动态网站和Web应用程序,如博客、电子商务网站、社交媒体平台等,它可以通过与PHP、Python、Java等后端语言配合,实现用户注册、登录、商品展示、订单管理等功能。

4-1-2、内容管理系统(CMS)

        许多内容管理系统(如WordPress、Drupal、Joomla等)使用MySQL作为其后端数据库,用于存储和管理网站内容、用户数据等。

4-2、企业应用
4-2-1、企业资源规划(ERP)

        ERP系统用于管理企业的各种资源,如财务、人力资源、供应链等,MySQL可以用于存储和查询ERP系统中的数据。

4-2-2、客户关系管理(CRM)

        CRM系统用于管理企业与客户的关系,包括客户信息、销售机会、客户服务等,MySQL可以提供强大的数据存储和查询功能,支持CRM系统的各种业务需求。

4-3、数据分析与数据挖掘
4-3-1、数据仓库

        MySQL可以用于构建数据仓库,将来自不同数据源的数据整合到一个统一的存储库中,方便进行数据分析和数据挖掘。

4-3-2、数据挖掘与机器学习

        虽然MySQL本身不是一个专门用于数据挖掘和机器学习的工具,但它可以作为数据存储和预处理的一部分,与数据挖掘和机器学习算法结合使用。

4-4、游戏开发
4-4-1、在线游戏

        MySQL常用于在线游戏的服务器后端,用于存储和管理游戏数据,如玩家信息、游戏进度、排行榜等。

4-4-2、游戏统计与分析

        通过MySQL存储游戏数据,开发者可以进行游戏统计和分析,了解玩家的行为和喜好,优化游戏体验。

4-5、移动应用开发
4-5-1、后端数据存储

        许多移动应用需要与后端服务器进行交互,MySQL可以作为后端服务器的数据库,存储和管理移动应用的数据。

4-5-2、用户认证与授权

        MySQL可以用于实现移动应用的用户认证和授权功能,确保用户数据的安全性和隐私性。

4-6、物联网(IoT)
4-6-1、设备数据存储

        随着物联网技术的发展,越来越多的设备需要连接到互联网并传输数据,MySQL可以用于存储这些设备的数据,方便进行实时监控和数据分析。

4-7、电子商务
4-7-1、购物车与订单管理

        MySQL可以存储和管理用户的购物车信息、订单详情等,支持电子商务网站的交易流程。

4-7-2、库存管理与物流跟踪

        通过MySQL存储库存信息和物流数据,可以实现库存的实时监控和物流的跟踪管理。

4-8、金融与银行业
4-8-1、账户管理

        MySQL可以存储和管理客户的账户信息、交易记录等,支持金融和银行业务的正常运行。

4-8-2、风险管理

        通过MySQL存储和分析客户的风险数据,银行可以更好地评估和管理风险。

        总之,上述只是MySQL数据库的一些常见应用场景,实际上它的应用领域远不止这些。随着技术的不断发展和业务的不断扩展,MySQL的应用场景也在不断扩大。

5、安装及配置

5-1、版本选择

        版本信息:mysql-installer-community-8.0.37.0

5-2、下载MySQL 8.0

5-2-1、下载地址:MySQL官网下载地址     ,打开mysql-installer-community-8.0.37.0下载页面,选择Microsoft Windows平台,然后根据自身的平台选择32位或者64位安装包,在这里选择32位,单击右侧【Download】按钮。

 5-2-2、单击【Download】按钮后,进入下载界面:

5-2-3、点击【No thanks,just start my download】链接,会弹出【新建下载任务】界面,如下图:

 5-2-4、单击【下载】按钮后,开始文件下载,如下图:

        毕竟这是从境外网站下载,很多时候会限流,但千万不要一直等,可以尝试删除下载链接后,重新单击【Download】下载即可。

5-2-3、在刚刚设置的下载位置【E:\360Downloads】,找到安装文件,如下图:

5-3、安装MySQL 8.0

        MySQL下载完成后,找到下载文件,鼠标左键双击进行安装,具体步骤如下:

5-3-1、双击下载的mysql-installer-community-8.0.37.0.msi文件,开始安装向导。

5-3-2、打开【Choosing a Setup Type】(安装类型选择)界面,共列出了4种安装类型,分别是:Server only(仅作为服务器)、Client only(仅作为客户端)、Full(完全安装)和Custom(自定义安装),我们选择【Custom】(自定义安装)单选按钮,单击【Next>】(下一步)按钮,如下图所示:

5-3-3、在【Select Products】(选择产品) 窗口,依次选择:【MySQL Server 8.0.37 - x64】、【Samples and Examples 8.0.37 - x86】(注:这是我的需求,请根据自身需求增减调整即可)后,单击【→】按钮添加。

若需要更改产品安装路径的,可以在【Products To Be Installed】界面选中产品,单击【Advanced Options】超链接,进入下图中:

 5-3-4、单击【Next>】(下一步)按钮,进入【Installation】(准备安装对话框):

5-3-5、开始安装MySQL相关产品,安装完成后,在【Status】(状态)列表下将显示Complete(安装完成) ,如下图:

5-3-6、 单击【Next>】(下一步)按钮,进入:

5-4、配置MySQL 8.0

        MySQL安装完毕后,需要对服务器进行相关配置。具体配置步骤如下:

5-4-1、在5-3-6节的最后一步中,单击【Next>】(下一步)按钮,将进入【Product Configuration】(产品信息窗口),如下图:

 5-4-2、单击【Next>】(下一步)按钮,将进入【Type and Networking】(服务器类型配置)窗口,采用默认设置,如下图:

        其中,【Config Type】选项用于设置服务器的类型,单击该选项右侧的下拉箭头,即可看到3个选项,如下图:

        3个选项的具体含义如下:

 ※ Development Computer(开发机):该选项代表典型个人用桌面工作站,假定机器上运行着多个桌面应用程序,将MySQL服务器配置成使用最少得系统资源。

Server Machine(服务器):该选项代表服务器,MySQL服务器可以同其他应用程序一起运行,如Web和Email服务器,MySQL服务器配置成使用适当比例的系统资源。

Dedicated Machine(专用服务器):该选项代表只运行MySQL服务的服务器,假定没有其他运行程序,MySQL服务器配置成使用100%的系统资源。

5-4-3、单击【Next>】(下一步)按钮,进入【Authentication Method】(设置授权方式)窗口:

        其中,有两个单选按钮,说明如下:

第1个单选按钮:MySQL 8.0 提供的新的授权方式,采用SHA256基础的加密方法。

第2个单选按钮:传统授权方法(保留了对5.x版本的兼容性)。

        这里,我们选择第二个单选按钮。

5-4-4、单击【Next>】(下一步)按钮,打开设置服务器的密码窗口,如下图:

5-4-5、单击【Add User】(新增用户)按钮后,弹出【MySQL User Account】窗口,如下图:

5-4-6、单击【Next>】(下一步)按钮,打开【Windows Service】窗口,我们可以去掉版本号,保留服务器名称为"MySQL",如下图:

5-4-7、 单击【Next>】(下一步)按钮,打开【Server File Permissions】(服务器文件权限)界面,如下图:

5-4-8、 单击【Next>】(下一步)按钮,打开【Apply Configuration】(应用配置)界面,如下图:

5-4-9、单击【Execute】(执行)按钮,即可完成服务器的配置,如下图:

5-4-10、单击【Finish】 (完成)按钮,打开【Connect To Server】(连接到服务器)界面,如下图:

5-4-11、单击【Next>】(下一步)按钮,打开【Apply Configuration】(应用配置)窗口,如下图:

        单击【Execute】(执行)按钮后,完成配置应用操作。如下图: 

5-4-12、单击【Finish】 (完成)按钮,打开【Product Configuration】(产品配置)界面,如下图:

5-4-13、单击【Next>】(下一步)按钮,进入【Installation Complete】(安装完成)界面,如下图:

        点击【Finish】(完成)按钮,即可完成MySQL数据库的配置操作。 

5-4-14、按键盘组合键【Ctrl+Alt+Del】,打开【任务管理器】窗口,如下图: 

        MySQL服务进程mysqld.exe已经启动了,说明我们已经在Windows 10操作系统环境下成功安装了MySQL数据库。

说明:因每个人的系统环境不一样,安装过程中,难免会遇到这样或那样的问题,在此就不一一展开分析,若有需要提供支持,请加本人微信沟通及交流。 

二、推荐阅读 

1、Python函数之旅

2、Python算法之旅

3、博客个人主页

  • 79
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 74
    评论
好的,我可以为您讲解一下如何使用PythonMySQL来实现通讯录程序。 首先,需要安装MySQL数据库PythonMySQL驱动程序。在安装MySQL时,需要设置一个用户名和密码来访问数据库。在Python中,可以使用PyMySQLmysql-connector-python这两个库来连接MySQL数据库。 接下来,可以创建一个名为"contacts"的数据库,其中包含一个名为"person"的表,用于存储联系人的信息。表中可以包含姓名、电话号码、电子邮件地址等字段。 在Python中,可以使用MySQL的连接对象来连接数据库,然后使用游标对象来执行SQL查询和更新操作。以下是一个示例代码: ```python import pymysql # 连接MySQL数据库 conn = pymysql.connect(host='localhost', user='username', password='password', database='contacts') # 创建游标对象 cursor = conn.cursor() # 查询所有联系人 cursor.execute('SELECT * FROM person') contacts = cursor.fetchall() for contact in contacts: print(contact) # 插入新的联系人 name = input('请输入姓名:') phone = input('请输入电话号码:') email = input('请输入电子邮件地址:') cursor.execute('INSERT INTO person(name, phone, email) VALUES(%s, %s, %s)', (name, phone, email)) conn.commit() # 关闭游标和连接 cursor.close() conn.close() ``` 以上代码连接到名为"contacts"的数据库,查询并打印所有联系人的信息,然后插入一个新的联系人。注意,插入操作需要使用占位符来避免SQL注入攻击。 希望这个示例代码能够帮助您开始使用PythonMySQL开发通讯录程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 74
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神奇夜光杯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值