python中使用MySQLdb模組進行操作

2021-07-27 05:47:50 字數 2007 閱讀 6163

mysqldb中主要的類有:connect ,  cursors, excute,executemany

處理過程:先基於connect類建立連線,例項化出乙個連線物件,基於cursors類建立游標,游標相當於開啟檔案時候的指標,基於游標將請求傳送到伺服器端,伺服器端基於游標的某個方法接收此請求,伺服器端處理完請求後,關閉游標,最後關閉連線。

示例:將某個有規律的檔案按行寫入資料庫

環境:centos7

1.首先安裝資料庫,並建立mydb庫

yum install -y mariadb-server

systemctl  start mariadb.service   ///啟動服務

mariadb [mydb]> grant all on *.* to 'myuser'@'127.0.0.1' identified by 'mypass';

mariadb [mydb]> grant all on *.* to 'hiuser'@'127.0.0.1' identified by 'mypass';

mariadb [mydb]> flush privileges;

2.編輯檔案  

vim  mysql_conn.py

#!/usr/bin/env python

import mysqldb as mysql         ///匯入mysqldb庫,別名設定為mysql

conn = mysql.connect()            ///基於connect類建立連線

conn = mysql.connect(host='127.0.0.1',user='hiuser',passwd='mypass',db='mydb')     ///連線資料庫mydb

cur = conn.cursor()                     ///建立游標例項

f1 = open('/etc/passwd','r')       ///開啟檔案

f1.seek(0)                               ///我習慣將檔案指標指向最開始的地方,雖然看起來沒什麼用。。。。

cur.execute('create table mydb.t9(username varchar(30),passwd char(10),uid varchar(20),gid varchar(20),groupname varchar(130),homedir varchar(30),shell varchar(30))')                ///建立表t9

for i in f1:

l1 = i.split(':')                      ///將字串i直接轉換為列表l1

sqlins = 'insert into t9 values(%s,%s,%s,%s,%s,%s,%s)'     ///將插入命令寫入乙個字串中

#    cur.execute('insert into t9 values(%s,%s, %s, %s,%s, %s,%s)',l1)     ///向表中插入字段,%s是佔位符

cur.execute(sqlins,l1)                   ///執行插入語句,將列表l1寫入t9中

conn.commit()                 ///這步很重要,如果不提交,最後就不會生效,

cur.execute('select * from t9')    

cur.fetchall()     ///獲取上面查詢所得的結果

cur.close()        ///關閉游標

conn.close()    ///關閉連線

f1.close()       ///關閉檔案

3.執行檔案

chmod +x  mysql_conn.py

./mysql_conn.py

4.去資料庫查詢結果,如圖:

author:網名為什麼那麼長

和 在python中使用

給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設 nums1 和 nums2 不會同時為空。示例 1 nums1 1 3 nums2 2 則中位數是 2.0 示例 2 nums1 1 2 ...

python中使用bp Python ocbp包

概述ocbpy是乙個python模組,它可以在aacgm座標和磁性之間進行轉換。相對於開闊地調整緯度和當地時間的座標系 閉合場線邊界 ocb 這對統計特別有用 磁極的研究,其中相對於固定磁座標的網格劃分 系統會導致不同物理區域的平均值,例如極光 和極冠測量。此座標繫在 chisham,g.2017 ...

在python中使用websocket

介紹一款很帥的外掛程式autobahnpython,通過它可以在python中很方便的使用websocket進行通訊 基於twisted框架 這個外掛程式真正強大的地方是它提供了乙個 發布 訂閱模式,具體內容有空再寫,先簡單介紹一下如何建立傳統的連線。建立伺服器 必須的模組 from twisted...