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...