Mysql Python與資料庫的使用

2021-08-17 04:14:38 字數 2020 閱讀 1053

//感覺這裡不全,或者沒找到吧…

在確保自己安裝mysql服務並啟動的情況下就可以在python的互動式介面測試是否安裝成功了

測試**如下:

import mysqldb      //匯入mysql-python模組

db = mysqldb.connect(user =

'root') //以管理員身份連線資料庫

cursor = db.cursor() //獲取資料庫游標

cursor.execute('select version()') //執行sql語句查詢資料庫版本

data

= cursor.fetchone() //使用游標執行結果中的第一條

print data

//列印出來

安裝成功如下:

安裝成功後就到了使用環節了,想深入了解mysqldb物件可以使用help()命令,我看那黑框框中亂糟糟的英文看的頭疼。本著使用多少學多少的原則,簡單來說,想利用python操縱資料庫的方式大多都是:

建立connect -> 獲取cursor -> 利用cursor執行sql語句 -> 關閉cursor -> 關閉 connect

建立connect中經常使用的字典引數有:

name

type

host

string

user

string

passwd

stirng

dbstring

port

integer

連線之後就是獲取游標了,按照《python核心程式設計》書上p207,游標(cursor)的常用屬性/方法有:

物件屬性

描述arraysize            

使用fetchmany()方法時,一次取出的結果行數,預設為1

connection

建立此游標的連線(可選)

description

返回游標活動狀態(7項元祖):(name,type_code,display_size,internal_size(name,type_code,display_size,internal_size, precision,scale,null_ok),只有name和type_code是必選的

lastrowid

上次修改行的行id(可選,如果不支援行id,則返回node)

rowcount

上次execute*()方法處理或影響的行數

callproc(func [,args])

呼叫儲存過程

close()

關閉游標

execute(op[,args])

執行資料庫查詢或命令

executemany(op,args)

類似execute和map()的結合,為給定的所有引數準備並執行資料庫查詢或命令

fetchone()

獲取查詢結果的下一行

fetchmany([size=cursor,arraysize)

獲取查詢結果下面的size行

fetchall()

獲取查詢結果的所有(剩餘)行

__iter__()

為游標建立迭代器物件(可選,參考next())

messages

游標執行後從資料庫中獲得的訊息列表(元祖集合,可選)

next()

nextset()

移動到下乙個結果集合(如果支援)

rownumber

當前結果集中游標的索引(以行為單位,從0開始,可選)

setinputsizes(sizes)

設定允許的最大輸入大小(必須有,但是實現是可選的)

setoutputsize(size[,col])

設定大列獲取的最大緩衝區大小(必須有,但是實現是可選的)

mysql python中文資料錯誤

使用中文常常有因為編碼引起的程式錯誤,或者中文亂碼的問題,這裡一次解決.像下邊這樣的錯誤 1366 incorrect string value xe8 x82 x96 xe5 xb1 xb1.for column sub station name 首先,對於遠端呼叫mysql命令的方式,有兩個地方...

VB與資料庫 資料庫連線

話說學生管理系統和機房收費系統都完成了,再回來說資料庫的連線真的好嗎?貌似不太好,但是誰讓自己欠賬了呢 除了還,還能有更好的解決方法嗎?前幾天說 紅皮書 中的七個物件。當時的反應哪七個,腦子完全一片空白,不知所云。所以找出來,再看看吧。vb6.0與sqlserver有源資料庫連線,vb6.0中資料訪...

gp資料庫與pg資料庫

以前專案採用的都是oracle或者是mysql的資料庫,新的專案採用了gp資料庫 greenplum 在這之前只聽說過pg資料庫 postgresql gp資料庫官網 pg資料庫官網 經過學習和查詢,得知greenplum是利用了postgre資料庫的框架,也就相當於說是,gp資料庫是基於pg資料庫...