當前位置:首頁 » 數據倉庫 » python鏈接資料庫查詢
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

python鏈接資料庫查詢

發布時間: 2022-11-07 17:47:49

Ⅰ 怎麼用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 協議:https://dev.mysql.com/doc/internals/en/client-server-protocol.html整個連接的過程中 MySQL 服務端與驅動程序之間,按如下的次序發送了這些包。

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

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

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

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

Ⅱ 如何使用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 協議:https://dev.mysql.com/doc/internals/en/client-server-protocol.html整個連接的過程中 MySQL 服務端與驅動程序之間,按如下的次序發送了這些包。

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

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

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

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

Ⅲ python資料庫怎麼查詢數據

Python通過pymysql連接資料庫並進行查詢和更新SQL方法封裝

import pymysql.cursors

import json



class OperationMysql:

def __init__(self):

self.conn = pymysql.connect(

host='127.0.0.1',

port=3306,

user='test',

passwd='11111',

db='test',

charset='utf8',

cursorclass=pymysql.cursors.DictCursor

)

self.cur = self.conn.cursor()


# 查詢一條數據

def search_one(self, sql):

self.cur.execute(sql)

result = self.cur.fetchone()

return result


# 更新SQL

def updata_one(self, sql):

self.cur.execute(sql)

self.conn.commit()

self.conn.close()



if __name__ == '__main__':

op_mysql = OperationMysql()

res = op_mysql.search_one("SELECT * from order WHERE order_no='M191023401681654'")

print(res)




Ⅳ python 怎麼查詢mysql資料庫

#!/usr/bin/python
import MySQLdb
# 打開資料庫連接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )
#打開游標
cursor = db.cursor()
# 執行資料庫查詢
cursor.execute("SELECT * from users")
# 獲取結果集的第一行
data = cursor.fetchone()
print "Database version : %s " % data
# 關閉連接
db.close()

Ⅳ python如何訪問資料庫

1.背景:

python提供了很多資料庫介面, 常用的資料庫有 MS SQL Server /mysql /oracle 等。

打開鏈接 https://wiki.python.org/moin/DatabaseInterfaces

是python 關於資料庫介面的一個總結 , 可以看到python支持的訪問的資料庫系統。

2.模塊:

python 主要是通過模塊和資料庫連接的。

2.1 安裝模塊:

如果使用anconda,本身就會集合很多模塊,不需要手動安裝。如果用pycharm就要手動安裝模塊。

安裝模塊流程:

下載模塊擴展包放到路徑下——>cmd找到相應路徑——> pip install +擴展包名字

下面列舉一些常用連接資料庫的模塊:pymssql / sqlite3/ PyMySQL/pyodbc/odbc/adodbapi

不同模塊連接的資料庫不同, 支持的版本系統有的也不一樣。但是大體用法都是相近的, 因為有DB-API

相關推薦:《Python教程》

3.Python DB-API

3.1背景:

在沒有DB-API 之前, 不同資料庫有不同的資料庫介面程序, 這就導致python 訪問 database 的介面程序非常混亂。如果我們學習了python 訪問 mysql 的介面程序, 然後要切換到另一個資料庫上, 我們還要在學習另外一個資料庫的介面程序。python DB-API就是為了解決介面程序混亂而生成的。有了DB-API, 在不同資料庫上移植代碼就變得簡單的多了。

3.2Python DB-API:

Python 定義了一套操作資料庫的 DB-API 介面,它是一個規范,定義了一系列必須的對象和資料庫存取方式,以便為不同的底層資料庫系統提供一致的訪問介面

這個鏈接就是python 官方給定的 DB-API 的說明 https://www.python.org/dev/peps/pep-0249/

3.3 Python DB--API的內容:

連接對象:

?Connect()創建連接:host/server /user/password/db connect方法生成一個connect對象, 我們通過這個對象來訪問資料庫。符合標準的模塊都會實現connect方法。

?close():關閉連接

?commit():提交當前事務。做出某些更改後確保已經進行了提交,這樣才可以將這些修改真正地保存到database中

?rollback() 回滾上一次調用 commit()以來對資料庫所做的更改

?cursor():創建游標。系統為用戶開通的一個數據緩沖區,用於存放SQL語句執行結果。cursor游標是有狀態的,它可以記錄當前已經取到結果的第幾個記錄了,因此,一般你只可以遍歷結果集一次。在上面的情況下,如果執行fetchone()會返回為空。這一點在測試時需要注意

游標對象:

?Execute()執行一個資料庫查詢或命令。 execute 執行sql 語句之後運行的結果不會直接output 出來 , 而是放到了一個緩存區, 要用 fetch語句+print 可以查詢sql運行的結果

?fetchone ()得到結果集的下一行

?fetchmany(size)得到結果集的下幾行

?fetchall()返回結果集中剩下的所有行

?rowcount 返回影響的行數

?Close()關閉游標對象

3.4Python DB--API的工作原理及流程:

如圖所示如果把python 和資料庫比作兩個不同的地點, connection 就是路, 能連接python和database。cursor就像在路上行駛的小貨車, 可以用於執行sql 語句, 以及存儲sql 運行的結果。

流程:

4.MS SQL Server 示例:

4.1 導入模塊、創建連接:

4.2 創建游標: 游標創建之後就可以對資料庫進行查詢更改了!

4.3對數據進行操作(創建表、插入行、更新數據、增加列、刪除行、列、表):

4.4 查詢 獲取行:

5.其他:

使用游標的時候要注意, 每次連接只能有一個游標查詢處於活躍狀態。 code演示:

execute()循環和 executemany() 插入100000 條數據測速:

Ⅵ 如何使用python連接資料庫,插入並查詢數據

python3.2 ==> ORM(或者資料庫介面) ==> 資料庫資料庫:PostgreSQL9、SQLite3等ORM:SQLAlchemy(需要安裝資料庫介面)資料庫介面:psycopg2(PostgreSQL9)建議使用ORM樣創建、修改、刪除時只涉及python類對象無需寫sql語句修改了數據表結構時對程序修改也方便些表間關系特別復雜也ORM直接寫sql語句

Ⅶ python如何使用pymysql連接資料庫封裝類

1、python安裝目錄設定為d:/python34
2、pymysql安裝方法為:解壓下載的文件,在cmd中運行: python setup.py install。
檢驗安裝安裝是否成功的方法:import pymysql 。 如果不報錯 說明安裝成功。
3、mysql安裝目錄為D:/phpStudy/MySQL。為避免更多配置問題,可在啟動phpstudy後,將其設為系統服務
4、基本操作:
(1)導入pymysql: import pymysql
(2)連接資料庫:
conn=pymysql.connect(host='localhost',user='root',passwd='root',db='ere',charset='utf8')
務必注意各等號前面的內容!charset參數可避免中文亂碼
(3)獲取操作游標:cur=conn.cursor()
(4)執行sql語句,插入記錄:sta=cur.execute("insert 語句") 執行成功後sta值為1。更新、刪除語句與此類似。
(5)執行sql語句,查詢記錄:cur.execute("select語句") 執行成功後cur變數中保存了查詢結果記錄集,然後再用循環列印結果:
for each in cur:
print(each[1].decode('utf-8')) # each[1] 表示當前游標所在行的的第2列值,如果是中文則需要處理編碼

Ⅷ 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 協議:https://dev.mysql.com/doc/internals/en/client-server-protocol.html整個連接的過程中 MySQL 服務端與驅動程序之間,按如下的次序發送了這些包。

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

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

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

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

Ⅸ 掌握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 的工程師提供支撐。