python调用MySql详细步骤

一、下载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.1 、将人脸识别考勤系统识别到的数据自动填入到数据库的表单中

import pymysql

class FaceRecognitionData:
    def __init__(self):
        pass

    def 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;

完美大功告成啦!!!! 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【go从零单排】通道select、通道timeout、Non-Blocking Channel Operations非阻塞通道操作

🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 select 语句是 Go 的一种控制结构,用于等待多个通道操作。它类似于 s…

FPGA实现PCIE采集电脑端视频转SFP光口万兆UDP输出,基于XDMA+GTX架构,提供2套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的PCIE方案10G Ethernet Subsystem实现万兆以太网物理层方案 3、PCIE基础知识扫描4、工程详细设计方案工程设计原理框图电脑端视频PCIE视频采集QT上位机XDMA配置及使用XDMA中断模块FDMA图像缓存UDP视频组包发送UDP协议栈MAC…

C++数据结构算法学习

C ,orient(面向) object , object entity(实体) Visible(可见的) or invisible(不可见) 变量用来保存数据 objects attribute(属性) services(服务) C STL 容器 vector, list() vector底层是数组,类似双向链表和list底层 map/s…

基于Java Springboot图书馆管理系统

一、作品包含 源码数据库文档全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据库:MySQL8.0 数据…

三周精通FastAPI:37 包含 WSGI - Flask,Django,Pyramid 以及其它

官方文档:https://fastapi.tiangolo.com/zh/advanced/wsgi/ 包含 WSGI - Flask,Django,其它 您可以挂载多个 WSGI 应用,正如您在 Sub Applications - Mounts, Behind a Proxy 中所看到的那样。 为此, 您可以使用 WSGIMiddlewar…

gdb调试redis。sudo

1.先启动redis-server和一个redis-cli。 2.ps -aux|grep reids查看redis相关进程。 3.开始以管理员模式附加进程调试sudo gdb -p 2968.注意这里不能不加sudo,因为Redis 可能以 root 用户启动,普通用户无法附加到该进程。否则就会出现可能下列情形&#…

Python安装(ubuntu)

一:安装指定版本的python python3 --version直接返回ubuntu自带的3.8.10的版本 radarswradarsw-Precision-5560:~$ python3 --version Python 3.8.10通过指令直接安装,会报错如下; radarswradarsw-Precision-5560:~$ sudo apt install python3.11 正在…

在 Oracle Linux 8.9 上安装Oracle Database 23ai 23.5

在 Oracle Linux 8.9 上安装Oracle Database 23ai 23.5 1. 安装 Oracle Database 23ai2. 连接 Oracle Database 23c3. 重启启动后,手动启动数据库4. 重启启动后,手动启动 Listener5. 手动启动 Pluggable Database6. 自动启动 Pluggable Database7. 设置开…

在VMware虚拟机环境下识别U盘

文章目录 前言一、在自己的计算机上(非虚拟机)按【winR】键→输入【services.msc】→点击【确定】二、找到服务名称为【VMware USB Arbitration Service】确保为启动状态三、VMware虚拟机设置四、启动虚拟机系统,插入U盘查看是否能识别到U盘 …

数据库范式、MySQL 架构、算法与树的深入解析

一、数据库范式 在数据库设计中,范式是一系列规则,用于确保数据的组织和存储具有良好的结构、完整性以及最小化的数据冗余。如果不遵循范式设计,数据可能会以平铺式罗列,仅使用冒号、分号等简单分隔。这种方式存在诸多弊端&#…

Leetcode 存在重复元素II

这段代码的算法思想可以用以下步骤来解释: 算法思想 使用哈希表(HashMap)存储每个元素的索引: 遍历数组 nums 时,使用一个 HashMap 来记录每个元素的值和它的索引位置。这样可以快速查找之前出现过的相同元素的索引。…

Vue3.js - 一文看懂Vuex

1. 前言 Vuex 是 Vue.js 的官方状态管理库,用于在 Vue 应用中管理组件之间共享的状态。Vuex 适用于中大型应用,它将组件的共享状态集中管理,可以避免组件间传递 props 或事件的复杂性。 2. 核心概念 我们可以将Vuex想象为一个大型的Vue&…

面试编程题目(一)细菌总数计算

题目如图: 第一题: import lombok.AllArgsConstructor; import lombok.Data;import java.util.Arrays; import java.util.Collections; import java.util.List;/*** description: 细菌实体类* author: zhangmy* Version: 1.0* create: 2021-03-30 11:2…

基于Qt/C++与OpenCV库 实现基于海康相机的图像采集和显示系统(工程源码可联系博主索要)

本文将梳理一个基于 Qt 和 OpenCV 实现的海康相机图像采集 Demo。该程序能够实现相机连接、参数设置、图像采集与显示、异常处理等功能,并通过 Qt 界面展示操作结果。 1. 功能概述 该程序使用 Qt 的 GUI 作为界面,OpenCV 作为图像处理库,通…

网络基础Linux

目录 计算机网络背景 网络发展 认识 "协议" 网络协议初识 OSI七层模型 TCP/IP五层(或四层)模型 网络传输基本流程 网络传输流程图 ​编辑 数据包封装和分用 网络中的地址管理 认识IP地址 认识MAC地址 笔记(画的图) 协议&#x…

大数据新视界 -- 大数据大厂之 Impala 存储格式转换:从原理到实践,开启大数据性能优化星际之旅(下)(20/30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

性能调优专题(12)之垃圾收集器ParNewCMS与底层三色标记算法详解

一、垃圾收集算法 1.1 分代收集理论 当前虚拟机的垃圾收集器都采用分代收集理论,只是根据对象存活周期的不同将内存分为几块。一般Java将堆分为新生代和老年代,这样子我们就可以根据各个年代的特点选择合适的垃圾收集算法。 比如在新生代中,每…

JAVA学习日记 ArrayList+LinkedList+迭代器源码分析

一、ArrayList 底层原理: ①利用空参构造的集合,在底层创建一共默认长度为0的数组 ②添加第一个元素时,底层会创建一个新的长度为10的数组 ③存满时,会扩容1.5倍 ④如果一次添加多个元素,1.5倍放不下,…

python+pptx:(二)添加图片、表格、形状、模版渲染

目录 图片 表格 合并单元格 填充色、边距 写入数据 形状 模版渲染 上一篇:pythonpptx:(一)占位符、文本框、段落操作_python输出ppt母版占位符标号-CSDN博客 from pptx import Presentation from pptx.util import Cm, In…

RDIFramework.NET CS敏捷开发框架 V6.1发布(.NET6+、Framework双引擎、全网唯一)

RDIFramework.NET C/S敏捷开发框架V6.1版本迎来重大更新与调整,全面重新设计业务逻辑代码,代码量减少一半以上,开发更加高效。全系统引入全新字体图标,整个界面焕然一新。底层引入最易上手的ORM框架SqlSugar,让开发更加…