python调用MySql保姆级教程(包会的)

目录

一、下载MySql

 二、安装MySql

三、验证MySql是否OK

1、MySQL控制台验证

2、命令提示符cmd窗口验证

四、Python调用MySql

4.1 安装pysql

 4.2 使用pysql

4.2.1、连接数据库服务器并且创建数据库和表

4.2.2 、将人脸识别考勤系统识别到的数据自动填入到数据库的表单中

五 由于设置原因,mysql服务自动停止(ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061))


一、下载MySql


MySQL :: Download MySQL Installericon-default.png?t=O83Ahttps://dev.mysql.com/downloads/windows/installer/8.0.html点击上面链接,进入MySQL8.0的下载页面,选择离线安装包下载。

 不需要登陆,直接点击下方的 No thanks,just start my download. 即可下载

 二、安装MySql

                下载完成后,开始安装MySQL。双击安装文件,

        在所示界面选中I accept the license terms 复选框,这里选择纯净的Server only类型,然后一直点击NEXT,进入选择设置类型界面,这里有五种类型,MySQL会默认选择Developer Default类型,

👇

👇

序号1、2、3、4解释:

1. 这里选择TCP/IP,也就是通过网络连接MySQL,MySQL启动时是一个网络服务。
  TCP/IP协议栈是互联网通信的基础,它定义了数据如何在网络中传输和交换。它支持各种类型的应用层协议,例如HTTP、FTP、SMTP等,这些协议构成了互联网上各种应用的基础。

2. Windows的防火墙就那样,所以勾不勾选看宝宝们心意
3 \ 4. 本机连MySQL,可以用命名管道或者共享内存都可以
  Named Pipe通常用于处理大量数据的通信,而Shared Memory则用于需要高速数据传输的进程间通信。Named Pipe通过读写文件来进行通信,而Shared Memory直接共享内存。因此,在使用Named Pipe时需要考虑文件I/O的开销,而在使用共享内存时需要考虑数据同步的问题。

 👇

 

MySQL的超级管理员叫 root,初次设置密码,建议先使用弱口令就好,当然如果记性好的也可以设置强口令(苹果系统就需要设置强口令:包含大小写、数字、特殊字符,且长度大于8位)

👇 

 👇

👇 

 

 👇

👇

👇

👇

👇

 安装完毕!!!

三、验证MySql是否OK

1、MySQL控制台验证

开始菜单 > 打开 MySQL 8.0 Command Line Client 程序

输入设置的密码,弹出当前 MySQL 的服务器状态 

2、命令提示符cmd窗口验证

(1)在电脑中找到安装好的MySQL的bin文件夹 并拿到地址,一般默认安装路劲是:C:\Program Files\MySQL\MySQL Server 8.0\bin,找到这个路劲才能在cmd窗口下输入正确的地址。

(2)Win + R,输入cmd,在窗口中输入cd C:\Program Files\MySQL\MySQL Server 8.0\bin,然后输入mysql -h localhost -u root -p 登录数据库,再输入数据库密码,登录成功即可查看信息。

 到这里,MySQL就安装成功啦!!!在许多软件安装过程中,宝宝们可能会看到一个名为"bin"的文件夹,那么这个bin文件夹有什么作用呢?在本期 MySQL安装教程中用到了 cmd 的验证方式,并且在Python免费安装教程 中,也用到了 cmd 去验证 Python 是否安装成功!下一篇将在边边角角小知识专栏 中分享bin文件夹的作用以及 cmd 的一些小知识。

安装步骤参考原文链接:https://blog.csdn.net/m0_71422677/article/details/136007088

四、Python调用MySql

4.1 安装pysql

pip install PyMySQL

 4.2 使用pysql

4.2.1、连接数据库服务器并且创建数据库和表

由于PyMySQL遵循Python Database API 2.0 规范,因此操作MySQL数据库的方式与SQLite相似,可以通过类比的方式来学习。

import pymysql# 连接数据库
connection = pymysql.connect(host='localhost',   # 本地user='root',        # 账号password='root',    # 密码   charset='utf8mb4')  # 创建游标对象
cursor = connection.cursor()'''
### 创建数据库 
(这里假设创建一个名为face_recognition_attendance的用于人脸识别考勤)
'''
cursor.execute("CREATE DATABASE IF NOT EXISTS face_recognition_attendance")'''
=== 切换到新创建的数据库
(一样的,创建一个表命名为face_recognition_attendance用于记录人脸识别考勤)
'''
cursor.execute("USE face_recognition_attendance")# 创建表格(表格的结构,我这里自己弄的是【ID,职位,姓名,状态,考勤时间】)
create_table_query = """
CREATE TABLE IF NOT EXISTS attendance_data (ID INT AUTO_INCREMENT PRIMARY KEY,position VARCHAR(255),name VARCHAR(255),status VARCHAR(50),attendance_time DATETIME
)
"""
# 执行命令的意思
cursor.execute(create_table_query)# 提交更改并关闭连接
connection.commit()
connection.close()print("人脸识别考勤系统数据库和表格创建成功!")

4.2.2 、将人脸识别考勤系统识别到的数据自动填入到数据库的表单中

import pymysqlclass FaceRecognitionData:def __init__(self):passdef create_database(self):connection = pymysql.connect(host='localhost',user='root',password='root',charset='utf8mb4')cursor = connection.cursor()# 创建数据库如果不存在cursor.execute("CREATE DATABASE IF NOT EXISTS face_recognition_attendance")cursor.execute("USE face_recognition_attendance")# 创建表格如果不存在create_table_query = """CREATE TABLE IF NOT EXISTS attendance_data (ID INT AUTO_INCREMENT PRIMARY KEY,position VARCHAR(255),name VARCHAR(255),status VARCHAR(50),attendance_time DATETIME)"""cursor.execute(create_table_query)connection.close()print("人脸考勤系统数据库创建成功!")def insert_data_to_db(self, data):connection = pymysql.connect(host='localhost',user='root',password='root',database='face_recognition_attendance',charset='utf8mb4')cursor = connection.cursor()insert_query = "INSERT INTO attendance_data (ID, position, name, status, attendance_time) VALUES (%s, %s, %s, %s, %s)"for entry in data:cursor.execute(insert_query, entry)connection.commit()connection.close()print("数据插入成功!")# 假设get_fanceRes()函数已经定义并返回数据
def get_fanceRes():# 假设这里是您的get_fanceRes()函数的实现data = [[1, 'Manager', 'Alice', 'Present', '2022-01-01 08:00:00'],[2, 'Engineer', 'Bob', 'Absent', '2022-01-01 09:00:00'],# 其他数据条目]return data# 创建数据库
face_recognition_data = FaceRecognitionData()
face_recognition_data.create_database()# 获取数据并插入数据库
face_data = get_fanceRes()
face_recognition_data.insert_data_to_db(face_data)

打开数据库看看是否成功创建数据库,并且读入数据->

首先打开cmd输入这个命令👇 

cd C:\Program Files\MySQL\MySQL Server 8.0\bin

然后输入这个命令👇

mysql -h localhost -u root -p

即可成功进入mysql 

 接着输入👇

直接复制粘贴的命令行:

SHOW DATABASES;
USE face_recognition_attendance;
SHOW TABLES;
DESCRIBE attendance_data;
SELECT * FROM attendance_data;

下面这些都是一行行的解释运行(仅在4.2.2内解释 ),帮助理解。 

SHOW DATABASES;

然后输入👇

USE face_recognition_attendance;

紧接着输入👇

SHOW TABLES;

 

倒数第二步骤输入👇

DESCRIBE attendance_data;

 

 最最最后输入👇

SELECT * FROM attendance_data;

完美大功告成啦!!!! 

五 由于设置原因,mysql服务自动停止(ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061))

 Win + R 输入

compmgmt.msc

成功!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/19112.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

如何解决将长视频转换为易于处理的 Spacetime Patch 的问题?

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 将长视频转换为易于处理的 Spacetime Patch(时空补丁)是一项挑战,尤其是当视频内容复杂或包含长时间连续场景时。在计算机视觉和视频分析等领域,Spacetim…

大数据学习16之Spark-Core

1. 概述 1.1.简介 Apache Spark 是专门为大规模数据处理而设计的快速通用的计算引擎。 一种类似 Hadoop MapReduce 的通用并行计算框架,它拥有MapReduce的优点,不同于MR的是Job中间结果可以缓存在内存中,从而不需要读取HDFS,减少…

LeetCode 力扣 热题 100道(五)最长回文子串(C++)

最长回文子串 给你一个字符串 s,找到 s 中最长的 回文子串。 回文性 如果字符串向前和向后读都相同,则它满足 回文性 子字符串子字符串 是字符串中连续的 非空 字符序列。 动态规划法 class Solution { public:string longestPalindrome(string s) {i…

dropout层/暂退法

作用:正则化,缓解过拟合 实现方式: 在前向传播过程中,将该层的一部分神经元的输出特征随机丢掉(设为 0),相当于随机消灭一部分神经元仅在训练期间使用,测试时没有神经元被丢掉。 正…

【圆上的连线——卡特兰数】

题目 思路 因为不相交,所以每个点最多连出一条线,所以参与连线的点一定是偶数个 我们按照选出点的数量 2,4 …… 2x 将答案划分,答案可以表示为 (假设我们选出2x个点连线,假设方法数为 :2x个点参…

Pytest-Bdd-Playwright 系列教程(11):场景快捷方式

Pytest-Bdd-Playwright 系列教程(11):场景快捷方式 前言1. 手动绑定场景的传统方法2. 场景快捷方式的自动绑定方法2.1 绑定所有场景2.2 绑定多个路径2.3 自动与手动绑定的结合 3. 示例:结合 Playwright 的实际应用3.1 项目目录结构…

day-17 反转字符串中的单词

利用split()函数和substring函数 code: class Solution {public String reverseWords(String s) {int m0;while(s.charAt(m) ){m;}ss.substring(m);String arr[]s.split("[\\s]");int narr.length;String ss"";for(int in-1;i>1;i--){ssssarr[i]"…

Ubuntu20.04从零安装IsaacSim/IsaacLab

Ubuntu20.04从零安装IsaacSim/IsaacLab 电脑硬件配置:安装Isaac sim方案一:pip安装方案二:预构建二进制文件安装1、安装ominiverse2、在ominiverse中安装isaac sim,下载最新的4.2版本 安装Isaac Lab1、IsaacLab环境克隆2、创建con…

力扣hot100-->二分查找

二分查找 1. 33. 搜索旋转排序数组 中等 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[…

Javaweb梳理17——HTMLCSS简介

Javaweb梳理17——HTML&CSS简介 17 HTML&CSS简介17.1 HTML介绍17.2 快速入门17.3 基础标签17.3 .1 标题标签17.3.2 hr标签17.3.3 字体标签17.3.4 换行17.3.8 案例17.3.9 图片、音频、视频标签17.3.10 超链接标签17.3.11 列表标签 17 HTML&CSS简介 今日目标&#x…

倍福PLC数据 转 IEC61850项目案例

目录 1 案例说明 2 VFBOX网关工作原理 3 准备工作 4 设置倍福PLC 5 配置网关参数采集倍福PLC数据 6 用IEC61850协议转发数据 7 网关使用多个逻辑设备和逻辑节点的方法 8 案例总结 1 案例说明 设置倍福PLC&#xff0c;开通ADS通信设置网关采集倍福PLC数据把采集的数据转…

代码辅助工具 GPT / Cursor

代码辅助工具 GPT / Cursor 文章说明GPT辅助效果第一次提问效果第二次提问效果第三第四次提问效果手动微调布局和宽高的效果第五次要求添加主题切换效果第六次提问--继续让它优化主题切换的效果第七次提问--修改主题切换的按钮位置并添加动画提问词第一次提问词第二次提问词第三…

FPGA 常用 I/O 电平标准有哪些?

在 FPGA 的神奇世界里&#xff0c;I/O 电平标准就像魔法咒语&#xff0c;掌控着芯片与外界交流的方式。对于初涉 FPGA 领域的小白来说&#xff0c;这些标准可能有点神秘莫测&#xff0c;但别担心&#xff0c;今天我就用最通俗易懂的方式为你揭开它们的面纱。 一、电平标准的魔…

网络协议(4)拥塞控制

之前已经说过了tcp也是会考虑网络的情况的&#xff0c;也就是当网络出现问题的时候tcp不会再对报文进行重传。当所有的用户在网络不好的时候都不会对丢失的报文进行重传。这样就会防止网络瘫痪。 这样的机制也就是tcp会进行拥塞控制。 拥塞控制 所谓的慢启动看下面这张图就能…

#define定义宏(2)

大家好&#xff0c;今天给大家分享两个技巧。 首先我们应该先了解一下c语言中字符串具有自动连接的特点。注意只有将字符串作为宏参数的时候才可以把字符串放在字符串中。 下面我们来讲讲这两个技巧 1.使用#&#xff0c;把一个宏参数变成对应的字符串。 2.##的作用 可以把位…

蓝桥杯每日真题 - 第17天

题目&#xff1a;&#xff08;最大数字&#xff09; 题目描述&#xff08;X届 C&C B组X题&#xff09; 题目分析&#xff1a; 操作规则&#xff1a; 1号操作&#xff1a;将数字加1&#xff08;如果该数字为9&#xff0c;变为0&#xff09;。 2号操作&#xff1a;将数字减…

Leetcode打卡:最少翻转次数使二进制矩阵回文I

执行结果&#xff1a;通过 题目&#xff1a;3239 最少翻转次数使二进制矩阵回文I 给你一个 m x n 的二进制矩阵 grid 。 如果矩阵中一行或者一列从前往后与从后往前读是一样的&#xff0c;那么我们称这一行或者这一列是 回文 的。 你可以将 grid 中任意格子的值 翻转 &#…

@JsonSerialize修复前端精度问题

后端id定位为Long类型&#xff0c;前端查询出来的值莫名多了几个000 造成这个问题的原因是精度丢失&#xff0c; java中long数据能表示的范围比js中number大&#xff0c;在跟前端交互时&#xff0c;这样也就意味着部分数值在js中存不下(变成不准确的值)。 在字段上加 JsonSeri…

大模型(LLMs)RAG 版面分析——表格识别方法篇

大模型&#xff08;LLMs&#xff09;RAG 版面分析——表格识别方法篇 一、为什么需要识别表格&#xff1f; 表格的尺寸、类型和样式展现出多样化的特征&#xff0c;如背景填充的差异性、行列合并方法的多样性以及内容文本类型的不一致性等。同时&#xff0c;现有的文档资料不…

基于Matlab PCA人脸识别(二)

1.2 向量与基变换 1.2.1 内积与投影 两个大小相同向量的内积被定义如下&#xff1a;