工作中,經常會有用python訪問各種資料庫的需求,比如從oracle讀點配置檔案或者往mysql寫點結果資訊之類的。
這裡列一下可能用到的各個模組。
sqlite3: 內建模組
用sqlite,有時候確實很方便,我覺得它確實做到了宣稱的「零配置」。python自2.5版以來,就內建了對sqlite3的支援,使用也非常簡單,按照文件上來:
複製** **如下:
#開啟db檔案,獲得連線
conn = sqlite3.connect('資料檔名')
#獲得游標
c = conn.cursor()
#執行sql
c.execute('''sql 片段''')
#如果有對資料的修改操作,那就需要commit一下
conn.commit()
#關閉游標
c.close()
#關閉連線
conn.close()
另外,關於sqlite在c和bash下的用法,可以參考為以前的文章。
oracle: cx_oracle
其實,前面先介紹sqlite3,除了它確實是個小資料庫以外,還有乙個原因:其他資料庫在python下的操作,其實基本上和sqlite3的操作是一樣的,也就是說,python其實已經幾乎統一了資料庫的介面。
開啟cx_oracle的文件頁面,你會發現其風格也和python文件很像,因為他們都是用 sphinx 做的。模組的使用方法就更像了,把上面的**裡,獲得連線的那行,換成這樣:
複製** **如下:
conn = cx_oracle.connect('username/password@tnsnamepgzkkko')
就可以了。只要把使用者名稱、密碼、tns組成乙個字串,傳進去,就可以得到乙個oracle的連線了。
mysql: mysqldb
和前兩個非常類似,連線的時候用以下兩個語法之一:
複製** **如下:
conn = mysqldb.connect('host', 'username', 'password', 'database')
conn = mysqldb.connect(host="host", user="username", passwd="password", db="database")
接下來,也把它當成s程式設計客棧qlite用就好了。
epgzkkkoxcel: pyexcelerator
好吧,我承認excel不算資料庫,只是寫在這裡充數而已,哈哈。因為偶爾還是要取下別人發來的excel裡的資料的。
其實,用pyexcelerator來讀取檔案也是很簡單的:
複製** **如下:
sheets=pyexcelerator.parse_xls('***.xls')
這樣出來以後,sheets就是整個工作薄了,它是工作表組成的list,而乙個工作表對應於乙個tuple,格式是: ('工作表名', 內容),而內容又是乙個dict,key是乙個(行數, 列數)的tuple,value才是正在的對應格仔的內容。看起來確實比較繞,好在處理excel的應用也不多,將就吧。
另外,其實pyexcelerator還支援寫入資料到excel的,如果有把查詢結果儲存成excel的需求的話,可以試試看,我還是盡量不用這種格式了,哈哈。
本文標題: python中常用的各種資料庫操作模組和連線例項
本文位址: /jiaoben/python/108937.html
常用的各種資料庫連線
mysql string driver com.mysql.jdbc.driver 驅動程式 string url jdbc mysql localhost 3306 db name 連線的url,db name為資料庫名 string username username 使用者名稱 string ...
各種資料庫連線
mysql string driver com.mysql.jdbc.driver 驅動程式 string url jdbc mysql localhost 3306 db name 連線的url,db name為資料庫名 string username username 使用者名稱 string ...
各種資料庫連線
mysql string driver org.gjt.mm.mysql.driver 驅動程式 string url jdbc mysql localhost 3306 db name 連線的url,db name為資料庫名 string username username 使用者名稱 strin...