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 復(fù)選框,這里選擇純凈的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就安裝成功啦!?。≡谠S多軟件安裝過程中,寶寶們可能會看到一個名為"bin"的文件夾,那么這個bin文件夾有什么作用呢?在本期 MySQL安裝教程中用到了 cmd 的驗證方式,并且在Python免費安裝教程 中,也用到了 cmd 去驗證 Python 是否安裝成功!下一篇將在邊邊角角小知識專欄 中分享bin文件夾的作用以及 cmd 的一些小知識。
安裝步驟參考原文鏈接:http://www.dbjr.com.cn/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
接著輸入??
直接復(fù)制粘貼的命令行:
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正確調(diào)用 jar 包加密得到加密值的操作方法
這篇文章主要介紹了Python 正確調(diào)用 jar 包加密得到加密值的操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08Python光學仿真wxpython透鏡演示系統(tǒng)框架
這篇文章主要為大家介紹了Python光學仿真UI界面的wxpython透鏡演示系統(tǒng)框架基本講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10python 兩種方法修改文件的創(chuàng)建時間、修改時間、訪問時間
這篇文章主要介紹了python 如何修改文件的創(chuàng)建時間、修改時間、訪問時間的兩種方法,幫助大家更好的利用python處理文件,感興趣的朋友可以了解下2020-09-09對pytorch的函數(shù)中的group參數(shù)的作用介紹
今天小編就為大家分享一篇對pytorch的函數(shù)中的group參數(shù)的作用介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02