当前位置: 首页 > article >正文

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

下面这些都是一行行的解释运行(仅在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.kler.cn/a/400805.html

相关文章:

  • HTTP 1.0、HTTP 1.1 和 HTTP 2.0 区别
  • 【JavaEE初阶 — 多线程】定时器的应用及模拟实现
  • 什么是循环神经网络
  • k-近邻算法(K-Nearest Neighbors, KNN)详解:机器学习中的经典算法
  • 第 17 章 - Go语言 上下文( Context )
  • 【windows】05-windows系统级深度隐藏文件方法
  • 前端算法:树(力扣144、94、145、100、104题)
  • Linux配置yum源练习
  • 学习笔记029——Ubuntu安装Nginx
  • 机器学习——期末复习 重点题归纳
  • 学习笔记022——Ubuntu 安装 MySQL8.0版本踩坑记录
  • 8、watch数据监视
  • Vscode离线安装插件的方法
  • ed by: java.lang.NoClassDefFoundError: android
  • 【redis】—— 环境搭建教程
  • CSS基础知识04
  • [C++]:C++11(一)
  • 基于Java的校园便利平台
  • elasticsearch是如何实现master选举的?
  • Matlab信号处理:短时傅里叶变换
  • Spring Boot汽车世界:资讯与技术的交汇
  • vue路由的钩子函数?
  • 离散数学与数据结构是什么关系
  • SLM561A系列60V10-50mA单通道线性恒流LED驱动芯片,为汽车照明、景观照明助力
  • 力扣2298. 周末任务计数
  • Linux系统-redis集群、nacos、nginx、keepalived、mysql开机自启