Python 操作 MySQL 的5種方式

来源:https://www.cnblogs.com/programmer123/archive/2019/10/24/11732694.html
-Advertisement-
Play Games

不管你是做數據分析,還是網路爬蟲,Web 開發、亦或是機器學習,你都離不開要和資料庫打交道,而 MySQL 又是最流行的一種資料庫,這篇文章介紹 Python 操作 MySQL 的5種方式,你可以在實際開發過程中根據實際情況合理選擇。 1、MySQLdb MySQLdb又叫MySQL-python ...


不管你是做數據分析,還是網路爬蟲,Web 開發、亦或是機器學習,你都離不開要和資料庫打交道,而 MySQL 又是最流行的一種資料庫,這篇文章介紹 Python 操作 MySQL 的5種方式,你可以在實際開發過程中根據實際情況合理選擇。

1、MySQLdb

MySQLdb又叫MySQL-python ,是 Python 連接 MySQL 最流行的一個驅動,很多框架都也是基於此庫進行開發,遺憾的是它只支持 Python2.x,而且安裝的時候有很多前置條件,因為它是基於C開發的庫,在 Windows 平臺安裝非常不友好,經常出現失敗的情況,現在基本不推薦使用,取代的是它的衍生版本。

2、mysqlclient

由於 MySQL-python(MySQLdb) 年久失修,後來出現了它的 Fork 版本 mysqlclient,完全相容 MySQLdb,同時支持 Python3.x,是 Django ORM的依賴工具,如果你想使用原生 SQL 來操作資料庫,那麼推薦此驅動。安裝方式和 MySQLdb 是一樣的,Windows 可以在 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 網站找到 對應版本的 whl 包下載安裝。

3、PyMySQL

PyMySQL 是純 Python 實現的驅動,速度上比不上 MySQLdb,最大的特點可能就是它的安裝方式沒那麼繁瑣,同時也相容 MySQL-python

 

 

 例子: 

4、peewee

寫原生 SQL 的過程非常繁瑣,代碼重覆,沒有面向對象思維,繼而誕生了很多封裝 wrapper 包和 ORM 框架,ORM 是 Python 對象與資料庫關係表的一種映射關係,有了 ORM 你不再需要寫 SQL 語句。提高了寫代碼的速度,同時相容多種資料庫系統,如sqlite, mysql、postgresql,付出的代價可能就是性能上的一些損失。如果你對 Django 自帶的 ORM 熟悉的話,那麼 peewee的學習成本幾乎為零。它是 Python 中是最流行的 ORM 框架。

 安裝

例子:

5、SQLAlchemy

如果想找一種既支持原生 SQL,又支持 ORM 的工具,那麼 SQLAlchemy 是最好的選擇,它非常接近 Java 中的 Hibernate 框架。

現在差不多搞明白了這幾種資料庫驅動的優劣,接下來你就可以選擇其中的一個進行系統的學習再把它應用到項目中去了,祝你學習開心,不懂的可以咨詢我哈。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 相信大部分開發者對下麵這張架構圖並不陌生吧,現在很多網站/應用都採用了動靜分離的架構進行部署。博主的博客也不例外,主機採用的是阿裡雲的 ECS,使用 CDN 做靜態內容分發,不過靜態文件還是存儲在 ECS,採用的是 Nginx 做動靜分離。今天我們來學習一下如何使用阿裡雲 OSS 做動靜分離。 ...
  • 前言 今天我們來看看備忘錄模式【MementoPattern】,我們平時寫文檔的時候一不小心寫錯了一些字或者刪除了一些東西怎麼辦呢?不用怕、Windows裡面提供了Ctrl+Z,後退一步,可以一直後退。這個東西怎麼實現的呢?我們記得之前講過一個命令模式。命令保存的是發起人的具體命令(對應的行為)、我 ...
  • 運行springboot項目報錯: *************************** APPLICATION FAILED TO START *************************** Description: Field userMapper in com.whohim.spri ...
  • 2019-10-24-23:21:17 目錄 1.抽象的方法 2.抽象類 3.抽象類和抽象方法的使用 4.抽象類的註意事項 5.案例代碼 1.抽象的方法 What:如果父類當中的方法不確定如何進行{}方法體實現,那麼這就是一個抽象方法。 抽象方法:就是加上abstract關鍵字,然後去掉大括弧,直接 ...
  • 1 #是將傳入的值當做字元串的形式,eg:select id,name,age from student where id =#{id},當前端把id值1,傳入到後臺的時候,就相當於 select id,name,age from student where id ='1'. 2 $是將傳入的數據直 ...
  • 平時我們在做項目時經常需要對一些重要功能操作記錄日誌,方便以後跟蹤是誰在操作此功能;我們在操作某些功能時也有可能會發生異常,但是每次發生異常要定位原因我們都要到伺服器去查詢日誌才能找到,而且也不能對發生的異常進行統計,從而改進我們的項目,要是能做個功能專門來記錄操作日誌和異常日誌那就好了, 當然我們 ...
  • springsecurity舊版本自定義設置用戶密碼角色 protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication().withUser("ad ...
  • redis相信大家都很熟悉了,和memcached一樣是一個高性能的key-value資料庫,至於什麼是緩存伺服器,度娘都有很明白的介紹了,我在這裡就不一一介紹了。 那我們一般什麼情況下才會使用緩存伺服器呢?可不是什麼情況都需要的哦,一般來說是在需要頻繁對一個欄位讀取的時候才會需要將這個欄位放入到緩 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...