新聞中心
作為一種廣泛應(yīng)用于科學(xué)計(jì)算、、Web開發(fā)等領(lǐng)域的編程語言,Python自然也牽涉到與數(shù)據(jù)庫的交互。Python 2.7是一個(gè)仍然廣泛使用的版本,本文將介紹如何使用Python 2.7連接各種數(shù)據(jù)庫,并進(jìn)行相關(guān)操作的技巧。

1.連接MySQL
MySQL是一款流行的開源關(guān)系型數(shù)據(jù)庫,Python中有一個(gè)標(biāo)準(zhǔn)的MySQL數(shù)據(jù)庫驅(qū)動(dòng)程序——mysql-python。首先需要安裝這個(gè)驅(qū)動(dòng)程序,可以通過pip安裝:
pip install mysql-python
安裝完成之后,可以從Python中連接MySQL,并進(jìn)行相關(guān)操作。使用以下代碼可以進(jìn)行連接:
import MySQLdb
#打開數(shù)據(jù)庫連接
db = MySQLdb.connect(“l(fā)ocalhost”,”testuser”,”test123″,”TESTDB” )
#使用cursor()方法獲取操作游標(biāo)
cursor = db.cursor()
#使用execute方法執(zhí)行SQL語句
cursor.execute(“SELECT VERSION()”)
#使用 fetchone() 方法獲取一條數(shù)據(jù)
data = cursor.fetchone()
print “Database version : %s ” % data
#關(guān)閉數(shù)據(jù)庫連接
db.close()
在這個(gè)例子中,我們首先使用MySQLdb.connect()方法連接MySQL數(shù)據(jù)庫。在這個(gè)方法中,我們需要提供 MySQL 服務(wù)器地址、用戶名、密碼以及要使用的數(shù)據(jù)庫名稱。然后我們使用cursor()方法獲取一個(gè)操作游標(biāo)。
使用execute()方法來執(zhí)行SQL語句。在這個(gè)例子中,我們執(zhí)行了一個(gè)簡單的SELECT語句獲取MySQL版本信息。
我們使用fetchone()方法獲取SELECT語句的執(zhí)行結(jié)果,并將其打印輸出到控制臺(tái)。使用db.close()方法關(guān)閉數(shù)據(jù)庫連接。
2.連接SQLite
SQLite是一個(gè)輕量級(jí)的嵌入式關(guān)系型數(shù)據(jù)庫,適合用于一些小型項(xiàng)目。在Python中,使用sqlite3模塊連接SQLite數(shù)據(jù)庫。
連接SQLite數(shù)據(jù)庫的過程與連接MySQL數(shù)據(jù)庫大致相同,只需要將數(shù)據(jù)庫驅(qū)動(dòng)程序換為sqlite3,并提供數(shù)據(jù)庫文件路徑即可。
import sqlite3
#連接到SQLite數(shù)據(jù)庫
conn = sqlite3.connect(‘test.db’)
#創(chuàng)建一個(gè)Cursor
cursor = conn.cursor()
#執(zhí)行一條SQL語句,創(chuàng)建user表
cursor.execute(‘create table user (id varchar(20) primary key, name varchar(20))’)
#插入一條記錄
cursor.execute(‘insert into user (id,name) values (\’1\’, \’Michael\’)’)
print cursor.rowcount
#關(guān)閉Cursor
cursor.close()
#提交事務(wù)
conn.commit()
#關(guān)閉連接
conn.close()
在這個(gè)例子中,我們首先使用sqlite3.connect()方法連接SQLite數(shù)據(jù)庫,提供數(shù)據(jù)庫文件路徑即可。然后使用cursor()方法獲取一個(gè)操作游標(biāo)。
使用execute()方法來執(zhí)行SQL語句。在這個(gè)例子中,我們執(zhí)行了CREATE TABLE語句,創(chuàng)建一個(gè)名為user的表,并向其中插入一條記錄。
我們關(guān)閉了Cursor,并提交了事務(wù),關(guān)閉了連接。
3.連接MongoDB
MongoDB是一個(gè)非常流行的NoSQL數(shù)據(jù)庫,Python中的pymongo驅(qū)動(dòng)程序支持與MongoDB的交互。
在使用pymongo前,需要先安裝這個(gè)驅(qū)動(dòng)程序。
pip install pymongo
連接MongoDB的過程與連接MySQL和SQLite有所不同。在MongoDB中,需要指定主機(jī)和端口號(hào),并通過用戶名和密碼進(jìn)行認(rèn)證。
import pymongo
#連接到MongoDB
client = pymongo.MongoClient(“mongodb://localhost:27017/”)
#指定要使用的數(shù)據(jù)庫
mydb = client[“testdb”]
#指定要使用的
mycol = mydb[“users”]
#插入一條記錄
mydict = { “name”: “John”, “address”: “Highway 37” }
x = mycol.insert_one(mydict)
print(x.inserted_id)
#查詢記錄并打印結(jié)果
for x in mycol.find():
print(x)
在這個(gè)例子中,我們首先使用pymongo.MongoClient()方法連接MongoDB,指定要使用的主機(jī)和端口號(hào)。然后指定要使用的數(shù)據(jù)庫和。
使用insert_one()方法向中插入一條記錄,并使用inserted_id屬性獲取插入記錄的id。使用find()方法查詢中所有記錄,并將結(jié)果打印輸出到控制臺(tái)。
4.連接Oracle數(shù)據(jù)庫
Oracle是一個(gè)企業(yè)級(jí)的關(guān)系型數(shù)據(jù)庫系統(tǒng),與Oracle數(shù)據(jù)庫的交互需要使用cx_Oracle驅(qū)動(dòng)程序。
在使用cx_Oracle前,需要先安裝這個(gè)驅(qū)動(dòng)程序。
pip install cx_Oracle
連接Oracle數(shù)據(jù)庫的過程與連接MySQL和SQLite類似。
import cx_Oracle
#連接到Oracle數(shù)據(jù)庫
conn = cx_Oracle.connect(‘testuser/test123@localhost:1521/orcl’)
#創(chuàng)建一個(gè)Cursor
cursor = conn.cursor()
#執(zhí)行一條SQL語句,創(chuàng)建user表
cursor.execute(‘create table user (id varchar(20) primary key, name varchar(20))’)
#插入一條記錄
cursor.execute(‘insert into user (id,name) values (\’1\’, \’Michael\’)’)
print cursor.rowcount
#關(guān)閉Cursor
cursor.close()
#提交事務(wù)
conn.commit()
#關(guān)閉連接
conn.close()
在這個(gè)例子中,我們首先使用cx_Oracle.connect()方法連接Oracle數(shù)據(jù)庫,提供數(shù)據(jù)庫連接字符串,其中包含用戶名、密碼、主機(jī)名、端口號(hào)以及要使用的數(shù)據(jù)庫名稱。
使用cursor()方法獲取一個(gè)操作游標(biāo),并使用execute()方法執(zhí)行SQL語句。
我們關(guān)閉了Cursor,并提交了事務(wù),關(guān)閉了連接。
包括MySQL、SQLite、Oracle以及MongoDB。每個(gè)數(shù)據(jù)庫需要不同的驅(qū)動(dòng)程序及連接方式。連接數(shù)據(jù)庫的基本步驟是通過驅(qū)動(dòng)程序建立連接池,獲取一個(gè)游標(biāo)用于執(zhí)行SQL語句,最后關(guān)閉連接池并提交事務(wù)。連接數(shù)據(jù)庫是Python開發(fā)的基礎(chǔ)技能之一,熟練掌握Python 2.7與各種數(shù)據(jù)庫的連接技巧對于學(xué)習(xí)Python及開發(fā)各種項(xiàng)目都是非常重要的。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
MySQL-python連接MySQL數(shù)據(jù)庫問題,總是拋異常。
不要?jiǎng)傞_始學(xué)多線程編程就這樣玩。connection 和 cursor 都不是線程安全的。
如果測試環(huán)境用橋頃多個(gè)線程,每個(gè)線程要在慶陸線程里面獲取自己的 connection,然后從這個(gè)譽(yù)消頃connection 獲取 cursor.
如果生產(chǎn)環(huán)境用多個(gè)線程,建議使用線程安全的連接池。
關(guān)于python 2.7連接數(shù)據(jù)庫的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港云服務(wù)器機(jī)房,創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)云服務(wù)器廠商,回大陸優(yōu)化帶寬,安全/穩(wěn)定/低延遲.創(chuàng)新互聯(lián)助力企業(yè)出海業(yè)務(wù),提供一站式解決方案。香港服務(wù)器-免備案低延遲-雙向CN2+BGP極速互訪!
當(dāng)前標(biāo)題:Python2.7與數(shù)據(jù)庫的連接技巧(python2.7連接數(shù)據(jù)庫)
瀏覽地址:http://www.5511xx.com/article/cdsidss.html


咨詢
建站咨詢
