python調(diào)用MySql保姆級圖文教程(包會的)
一、下載MySql
MySQL :: Download MySQL Installer:https://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,進入選擇設(shè)置類型界面,這里有五種類型,MySQL會默認選擇Developer Default類型,
??

??

序號1、2、3、4解釋:
1. 這里選擇TCP/IP,也就是通過網(wǎng)絡(luò)連接MySQL,MySQL啟動時是一個網(wǎng)絡(luò)服務(wù)。 TCP/IP協(xié)議棧是互聯(lián)網(wǎng)通信的基礎(chǔ),它定義了數(shù)據(jù)如何在網(wǎng)絡(luò)中傳輸和交換。它支持各種類型的應(yīng)用層協(xié)議,例如HTTP、FTP、SMTP等,這些協(xié)議構(gòu)成了互聯(lián)網(wǎng)上各種應(yīng)用的基礎(chǔ)。
2. Windows的防火墻就那樣,所以勾不勾選看寶寶們心意3 \ 4. 本機連MySQL,可以用命名管道或者共享內(nèi)存都可以 Named Pipe通常用于處理大量數(shù)據(jù)的通信,而Shared Memory則用于需要高速數(shù)據(jù)傳輸?shù)倪M程間通信。Named Pipe通過讀寫文件來進行通信,而Shared Memory直接共享內(nèi)存。因此,在使用Named Pipe時需要考慮文件I/O的開銷,而在使用共享內(nèi)存時需要考慮數(shù)據(jù)同步的問題。
??

MySQL的超級管理員叫 root,初次設(shè)置密碼,建議先使用弱口令就好,當然如果記性好的也可以設(shè)置強口令(蘋果系統(tǒng)就需要設(shè)置強口令:包含大小寫、數(shù)字、特殊字符,且長度大于8位)
??

??

??

??

??

??

??

??

安裝完畢!!!
三、驗證MySql是否OK
1、MySQL控制臺驗證
開始菜單 > 打開 MySQL 8.0 Command Line Client 程序

輸入設(shè)置的密碼,彈出當前 MySQL 的服務(wù)器狀態(tài)

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 登錄數(shù)據(jù)庫,再輸入數(shù)據(jù)庫密碼,登錄成功即可查看信息。

到這里,MySQL就安裝成功啦?。?!在許多軟件安裝過程中,寶寶們可能會看到一個名為"bin"的文件夾,那么這個bin文件夾有什么作用呢?在本期 MySQL安裝教程中用到了 cmd 的驗證方式,并且在Python免費安裝教程 中,也用到了 cmd 去驗證 Python 是否安裝成功!下一篇將在邊邊角角小知識專欄 中分享bin文件夾的作用以及 cmd 的一些小知識。
安裝步驟參考原文鏈接:http://www.fzitv.net/database/330909cz6.htm
四、Python調(diào)用MySql
4.1 安裝pysql
pip install PyMySQL
4.2 使用pysql
4.2.1、連接數(shù)據(jù)庫服務(wù)器并且創(chuàng)建數(shù)據(jù)庫和表
由于PyMySQL遵循Python Database API 2.0 規(guī)范,因此操作MySQL數(shù)據(jù)庫的方式與SQLite相似,可以通過類比的方式來學習。
import pymysql
# 連接數(shù)據(jù)庫
connection = pymysql.connect(host='localhost', # 本地
user='root', # 賬號
password='root', # 密碼
charset='utf8mb4')
# 創(chuàng)建游標對象
cursor = connection.cursor()
'''
### 創(chuàng)建數(shù)據(jù)庫
(這里假設(shè)創(chuàng)建一個名為face_recognition_attendance的用于人臉識別考勤)
'''
cursor.execute("CREATE DATABASE IF NOT EXISTS face_recognition_attendance")
'''
=== 切換到新創(chuàng)建的數(shù)據(jù)庫
(一樣的,創(chuàng)建一個表命名為face_recognition_attendance用于記錄人臉識別考勤)
'''
cursor.execute("USE face_recognition_attendance")
# 創(chuàng)建表格(表格的結(jié)構(gòu),我這里自己弄的是【ID,職位,姓名,狀態(tài),考勤時間】)
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
)
"""
# 執(zhí)行命令的意思
cursor.execute(create_table_query)
# 提交更改并關(guān)閉連接
connection.commit()
connection.close()
print("人臉識別考勤系統(tǒng)數(shù)據(jù)庫和表格創(chuàng)建成功!")
4.2.2 、將人臉識別考勤系統(tǒng)識別到的數(shù)據(jù)自動填入到數(shù)據(jù)庫的表單中
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()
# 創(chuàng)建數(shù)據(jù)庫如果不存在
cursor.execute("CREATE DATABASE IF NOT EXISTS face_recognition_attendance")
cursor.execute("USE face_recognition_attendance")
# 創(chuàng)建表格如果不存在
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("人臉考勤系統(tǒng)數(shù)據(jù)庫創(chuàng)建成功!")
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("數(shù)據(jù)插入成功!")
# 假設(shè)get_fanceRes()函數(shù)已經(jīng)定義并返回數(shù)據(jù)
def get_fanceRes():
# 假設(shè)這里是您的get_fanceRes()函數(shù)的實現(xiàn)
data = [
[1, 'Manager', 'Alice', 'Present', '2022-01-01 08:00:00'],
[2, 'Engineer', 'Bob', 'Absent', '2022-01-01 09:00:00'],
# 其他數(shù)據(jù)條目
]
return data
# 創(chuàng)建數(shù)據(jù)庫
face_recognition_data = FaceRecognitionData()
face_recognition_data.create_database()
# 獲取數(shù)據(jù)并插入數(shù)據(jù)庫
face_data = get_fanceRes()
face_recognition_data.insert_data_to_db(face_data)
打開數(shù)據(jù)庫看看是否成功創(chuàng)建數(shù)據(jù)庫,并且讀入數(shù)據(jù)->
首先打開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內(nèi)解釋 ),幫助理解。
SHOW DATABASES;

然后輸入??
USE face_recognition_attendance;

緊接著輸入??
SHOW TABLES;

倒數(shù)第二步驟輸入??
DESCRIBE attendance_data;

最最最后輸入??
SELECT * FROM attendance_data;

完美大功告成啦?。。?!
五 由于設(shè)置原因,mysql服務(wù)自動停止(ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061))

Win + R 輸入
compmgmt.msc
成功!!!

總結(jié)
到此這篇關(guān)于python調(diào)用MySql保姆級教程的文章就介紹到這了,更多相關(guān)python調(diào)用MySql內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中Yield的基本用法及Yield與return的區(qū)別解析
Python中有一個非常有用的語法叫做生成器,用到的關(guān)鍵字就是yield,這篇文章主要介紹了Python中Yield的基本用法及Yield與return的區(qū)別,需要的朋友可以參考下2022-10-10
解決import tensorflow導致jupyter內(nèi)核死亡的問題
這篇文章主要介紹了解決import tensorflow導致jupyter內(nèi)核死亡的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
NumPy中數(shù)組的轉(zhuǎn)置Transpose的三種方法
本文主要介紹了NumPy中數(shù)組轉(zhuǎn)置的基本概念、方法、應(yīng)用場景及注意事項,針對二維與高維數(shù)組,提供了多種轉(zhuǎn)置方法,包括T、transpose、np.transpose,下面就來詳細的了解一下2026-04-04
Python實現(xiàn)多格式文本轉(zhuǎn)為word
在現(xiàn)代工作中,我們常常需要處理不同格式的文件,其中Word文檔是最為常見的一種,本文主要介紹了如何使用Python創(chuàng)建一個全能的文件處理工具,能夠?qū)⒍喾N格式的文件轉(zhuǎn)換為Word文檔,需要的可以參考下2023-11-11

