在python中要連線資料庫,首先我們得先安裝幾個重要的東西,主要有:
(1)python-dev包
(2)setuptools-0.6c11.tar.gz
(3)mysql-python-1.2.3.tar.gz
下面分別來說說這三個主要的包的安裝步驟:
(1)python-dev包
直接yum install python-devel
(2)setuptools-0.6c11.tar.gz
python setup.py build
python setup.py install
(3)mysql-python-1.2.3.tar.gz
跟安裝setuptools-0.6c11.tar.gz步驟一樣,
先解壓:
tar zxfmysql-python-1.2.3.tar.gz,
完畢後cd到解壓後的資料夾,執行:
python setup.py build
python setup.py install
在執行上述命令之前,最好先修改乙個檔案,我們先查詢mysql_config的位置,使用命令:
find / -name mysql_config
然後我們獲取到它的路徑,我的是:/usr/bin/mysql_config,然後修改mysql-python-1.2.3目錄下
的site.cfg檔案,去掉mysql_config=***這行前面的#,改為:
mysql_config = /usr/bin/mysql_config
經過上面的步驟,我們基本就可以mysqldb安裝好了。
可以測試一下,在python的互動式命令列,輸入import mysqldb,如果沒有報錯,就說明已經安裝好。
下面的python**展示了如何連線資料庫,並執行資料庫的一些操作:
[python]view plain
copy
import
mysqldb
try:
conn = mysqldb.connect(host='localhost'
,user=
'root'
,passwd=
'root'
,port=
3306
) cur = conn.cursor()
cur.execute('create database if not exists pythondb'
) conn.select_db('pythondb'
) cur.execute('create table test(id int,name varchar(20),info varchar(20))'
) value = [1
,'acdreamer'
,'student'
] cur.execute('insert into test values(%s,%s,%s)'
,value)
values =
fori
inrange(
20):
,'my number is '
+str(i)))
cur.executemany('insert into test values(%s,%s,%s)'
,values)
cur.execute('update test set name="acdreamer" where id=3'
) conn.commit()
cur.close()
conn.close()
except
mysqldb.error,msg:
"mysql error %d: %s"
%(msg.args[
0],msg.args[
1])
可以看出,連線資料庫大致分為以下步驟:
(1)建立和資料庫系統的連線
(2)獲取操作游標
(3)執行sql,建立乙個資料庫(當然這一步不是必需的,因為我們可以用已經存在的資料庫)
(4)選擇資料庫
(5)進行各種資料庫操作
(6)操作完畢後,提交事務(這一步很重要,因為只有提交事務後,資料才能真正寫進資料庫)
(7)關閉操作游標
(8)關閉資料庫連線
當然,如果我們使用已經存在的資料庫,那麼在獲取連線時就可以制定了,比如:
conn = mysqldb.connect(host='localhost', user='root', passwd='root', db='pythondb')
如果資料庫中有中文,為了防止亂碼,我們加入屬性charset = 'uft-8'或者'gb2312',charset要跟資料庫的編碼一致。
conn = mysqldb.connect(host='localhost', user='root',
passwd='root', db='pythondb',charset='utf8')
下面貼一下常用的函式:
資料庫連線對事務操作的方法:commit()提交rollback()回滾
cursor用來執行命令的方法:
callproc(self,procname,args)
用來執行儲存過程,接收的引數為儲存過程名和引數列表,返回值為受影響的行數
execute(self, query, args)
執行單條sql語句,接收的引數為sql語句本身和使用的引數列表,返回值為受影響的行數
executemany(self, query, args)
執行單挑sql語句,但是重複執行引數列表裡的引數,返回值為受影響的行數
nextset(self)
移動到下乙個結果集
cursor用來接收返回值的方法:
fetchall(self)
接收全部的返回結果行
fetchmany(self, size=none)
接收size條返回結果行.如果size的值大於返回的結果行的數量,則會返回cursor.arraysize條資料
fetchone(self)
返回一條結果行
scroll(self, value, mode='relative')
移動指標到某一行,如果mode='relative',則表示從當前所在行移動value條,如果 mode='absolute',則表示從結果集的第一行移動value條。
Python庫之資料庫連線
資料庫連線可用於連線眾多資料庫以及訪問通用資料庫介面,可用於資料庫維護 管理和增 刪 改 查等日常操作。1.mysql connector python 型別 第三方庫 描述 mysql官方驅動連線程式 推薦度 13.bsddb3 型別 第三方庫 描述 berkeley db連線庫 15.dbhas...
python與資料庫的連線
import pymysql id int input 請輸入身份證 house input 請輸入家庭住址 1建立連線 conn pymysql.connect host localhost user root password 961225 database day03 port 3306 ho...
Python與資料庫的連線
資料庫 python包 mysql mysqldb ms sql server pymssql 引入python引擎包 如import mysqldb語句用於為mysql操作做準備。獲取游標 在db api規範中,游標 cursor 用於執行sql語句並且管理查詢到的資料集。執行sql命令 將sql...