關於python支持mysql的信息

本文目錄一覽:

Python之MySQL操作

MySQL 是目前使用最廣泛的資料庫之一,它有著良好的性能,能夠跨平台,支持分散式,能夠承受高並發。下載地址: MySQL :: Download MySQL Community Server 安裝參考: 圖解MySQL5.7.20免安裝版配置方法-百度經驗 (baidu.com)

Python 大致有如下 5 種方式操作 MySQL。

先使用如下建表語句創建一張簡單的資料庫表。

2.1 mysqlclient

執行 pip install mysqlclient 進行安裝,看一下具體操作。

新增

查詢

cursor 查看方法

修改

刪除

2.2 PyMySQL

執行 pip install pymysql 進行安裝,使用方式與 mysqlclient 基本類似。

2.3 peewee

執行 pip install peewee 進行安裝,看一下具體操作。

定義映射類

新增

查詢

修改

刪除

2.4 SQLAlchemy

執行 pip install sqlalchemy 進行安裝,看一下具體操作。

定義映射類

新增

查詢

修改

刪除

Python學習日記

怎麼用python連接mysql資料庫

在 Python 語言環境下我們這樣連接資料庫。

In [1]: from mysql import connector

In [2]: cnx = connector.connect(host=”172.16.192.100″,port=3306,user=”appuser”,password=”xxxxxx”)

但是連接資料庫的背後發生了什麼呢?

答案

當我們通過驅動程序(mysql-connector-python,pymysql)連接 MySQL 服務端的時候,就是把連接參數傳遞給驅動程序,驅動程序再根據參數會發起到 MySQL 服務端的 TCP 連接。當 TCP 連接建立之後驅動程序與服務端之間會按特定的格式和次序交換數據包,數據包的格式和發送次序由 MySQL 協議 規定。MySQL 協議:整個連接的過程中 MySQL 服務端與驅動程序之間,按如下的次序發送了這些包。

MySQL 服務端向客戶端發送一個握手包,包里記錄了 MySQL-Server 的版本,默認的授權插件,密碼鹽值(auth-data)。

2. MySQL 客戶端發出 ssl 連接請求包(如果有必要的話)。

3. MySQL 客戶端發出握手包的響應包,這個包時記錄了用戶名,密碼加密後的串,客戶端屬性,等等其它信息。

4. MySQL 服務端發出響應包,這個包里記錄了登錄是否成功,如果沒有成功也會給出錯誤信息。

Python 操作 MySQL 的5種方式

1、MySQLdb

# 前置條件

sudo apt-get install python-dev libmysqlclient-dev # Ubuntu

sudo yum install python-devel mysql-devel # Red Hat / CentOS

# 安裝

pip install MySQL-python

Windows 直接通過下載 exe 文件安裝

#!/usr/bin/python

import MySQLdb

db = MySQLdb.connect(

host = “localhost”, # 主機名

user = “root”, # 用戶名

passwd = “pythontab.com”, # 密碼

db = “testdb”) # 資料庫名稱

# 查詢前,必須先獲取游標

cur = db.cursor()

# 執行的都是原生SQL語句

cur.execute(“SELECT * FROM mytable”)

for row in cur.fetchall():

print(row[0])

db.close()

2、mysqlclient

# Windows安裝

pip install some-package.whl

# linux 前置條件

sudo apt-get install python3-dev # debian / Ubuntu

sudo yum install python3-devel # Red Hat / CentOS

brew install mysql-connector-c # macOS (Homebrew)

pip install mysqlclient

3、PyMySQL

pip install PyMySQL

# 為了兼容mysqldb,只需要加入

pymysql.install_as_MySQLdb()

import pymysql

conn = pymysql.connect(host = ‘127.0.0.1’, user = ‘root’, passwd = “pythontab.com”, db = ‘testdb’)

cur = conn.cursor()

cur.execute(“SELECT Host,User FROM user”)

for r in cur:

print(r)

cur.close()

conn.close()

4、peewee

pip install peewee

import peewee

from peewee import *

db = MySQLDatabase(‘testdb’, user = ‘root’, passwd = ‘pythontab.com’)

class Book(peewee.Model):

author = peewee.CharField()

title = peewee.TextField()

class Meta:

database = db

Book.create_table()

book = Book(author = “pythontab”, title = ‘pythontab is good website’)

book.save()

for book in Book.filter(author = “pythontab”):

print(book.title)

5、SQLAlchemy

from sqlalchemy import create_engine

from sqlalchemy.orm import sessionmaker

from sqlalchemy_declarative import Address, Base, Person

class Address(Base):

__tablename__ = ‘address’

id = Column(Integer, primary_key = True)

street_name = Column(String(250))

engine = create_engine(‘sqlite:///sqlalchemy_example.db’)

Base.metadata.bind = engine

DBSession = sessionmaker(bind = engine)

session = DBSession()

# Insert a Person in the person table

new_person = Person(name = ‘new person’)

session.add(new_person)

session.commit()

掌握Python 操作 MySQL 資料庫

本文Python 操作 MySQL 資料庫需要是使用到 PyMySQL 驅動

Python 操作 MySQL 前提是要安裝好 MySQL 資料庫並能正常連接使用,安裝步驟詳見下文。

注意: 安裝過程我們需要通過開啟管理員許可權來安裝,否則會由於許可權不足導致無法安裝。

首先需要先下載 MySQL 安裝包, 官網下載地址 下載對應版本即可,或直接在網上拉取並安裝:

許可權設置:

初始化 MySQL:

啟動 MySQL:

查看 MySQL 運行狀態:

Mysql安裝成功後,默認的root用戶密碼為空,你可以使用以下命令來創建root用戶的密碼:

登陸:

創建資料庫:

查看資料庫:

PyMySQL 模塊使用 pip命令進行安裝:

假如系統不支持 pip 命令,可以使用以下方式安裝:

pymysql .connect 函數:連接上資料庫

輸出結果顯示如下:表面資料庫連接成功

使用 pymysql 的 connect() 方法連接資料庫,connect 參數解釋如下:

conn.cursor():獲取游標

如果要操作資料庫,光連接數據是不夠的,咱們必須拿到操作資料庫的游標,才能進行後續的操作,游標的主要作用是用來接收資料庫操作後的返回結果,比如讀取數據、添加數據。通過獲取到的資料庫連接實例 conn 下的 cursor() 方法來創建游標,實例如下:

輸出結果為:

cursor 返回一個游標實例對象,其中包含了很多操作數據的方法,如執行sql語句,sql 執行命令: execute() 和 executemany()

execute(query,args=None):

executemany(query,args=None):

其他游標對象如下表:

完整資料庫連接操作實例如下:

以上結果輸出為:

創建表代碼如下:

如下所示資料庫表創建成功:

插入數據實現代碼:

插入數據結果:

Python查詢Mysql使用 fetchone() 方法獲取單條數據, 使用fetchall() 方法獲取多條數據。

查詢數據代碼如下:

輸出結果:

DB API中定義了一些資料庫操作的錯誤及異常,下表列出了這些錯誤和異常:

本文給大家介紹 Python 如何連接 Mysql 進行數據的增刪改查操作,文章通過簡潔的代碼方式進行示例演示,給使用 Python 操作 Mysql 的工程師提供支撐。

Python操作MySQL的驅動有哪些?

使用Python操作MySQL資料庫的方式(驅動)有很多種,比如:PyMySQL、MySQLdb、mysqlclient、SQLAlchemy等等

MySQLdb

MySQLdb是 Python 連接 MySQL 最流行的一個驅動,很多框架都也是基於此庫進行開發,遺憾的是它只支持 Python2.x,它是基於C開發的庫,和Windows 平台的兼容性不友好,現在基本不推薦使用,取代的是它的衍生版本。

mysqlclient

由於 MySQLdb 年久失修,後來出現了它的 Fork 版本 mysqlclient,完全兼容 MySQLdb,同時支持 Python3.x,是 Django ORM的依賴工具,如果你想使用原生 SQL 來操作資料庫,那麼推薦此驅動。

PyMySQL

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

SQLAlchemy

SQLAlchemy是一種既支持原生 SQL,又支持 ORM 的工具,它非常接近 Java 中的 Hibernate 框架。

作為一個測試人員,資料庫的操作也必須是要掌握的,如果想系統的學習介面測試相關的技術,可以了解一下黑馬程序員的軟體測試課程,裡面講的非常詳細。

如何用python連接mysql資料庫

資料庫連接

連接資料庫前,請先確認以下事項:

您已經創建了資料庫 TESTDB.

在TESTDB資料庫中您已經創建了表 EMPLOYEE

EMPLOYEE表欄位為 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。

連接資料庫TESTDB使用的用戶名為 “testuser” ,密碼為 “test123”,你可以可以自己設定或者直接使用root用戶名及其密碼,Mysql資料庫用戶授權請使用Grant命令。

在你的機子上已經安裝了 Python MySQLdb 模塊。

如果您對sql語句不熟悉,可以訪問我們的 SQL基礎教程

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/238212.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:10
下一篇 2024-12-12 12:10

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29

發表回復

登錄後才能評論