PyMySQL的基本操作

2022-08-28 16:27:17 字數 4158 閱讀 1201

pymysql 是在 python3.x 版本中用於連線 mysql 伺服器的乙個庫,python2中則使用mysqldb。

pymysql 遵循 python 資料庫 api v2.0 規範,幷包含了 pure-python mysql 客戶端庫。

pip3 install pymysql

#pymysql模組,同屬於套接字模組。

建立連線

拿到游標

執行sql語句

關閉(游標、連線)

小例子:

import pymysql

username

= input('

>>>:

').strip()

pwd

= input('

>->>:

').strip()

#建立連線

db =

pymysql.connect(

host='

192.168.9.99',

port

=3306

,

user='

root',

password='

123'

, db ='

dbname',

charset='

utf8',

)#拿到游標

cursor

= db.cursor

()#執行sql語句

# sql ='

select * from userinfo where username = "%s" and pwd = "%s"

'sql ='

insert into userinfo(username,pwd) values (%s,%s)

'try:

#rows變數得到資料庫中被影響的資料行數。

rows

=cursor.execute

(sql, (username, pwd))

# 向資料庫提交

db.commit

() #如果沒有commit(),庫中字段已經向下移位但內容沒有寫進,可是自動生成的id會自動增加。

except

: # 發生錯誤時回滾

db.rollback

()#關閉(游標、資料庫)

cursor.close

()db.

close

()if

rows: #通過rows的返回值來判斷執行結果。

print('

連線成功')

else

:

print('

登入失敗

')

插入多條資料:executemany()

使用executemany()來多條插入資訊。要用列表包含元組的形式插入。[(),(),()]

例如:rows =

cursor.executemany(sql,[

('sly','123),('hh','123')])

#這個例子中的rows可以不加。它的作用是記錄像響的行數。

取返回資料用 fetch(一共三種)

fetchone() 一次一條資料。

fetchmany() 一次多條資料,括號內填入要讀取的資料條數。不填則為1條資料,如果讀數超過實際條數,只顯示實際條數。

fetchall() 一次讀取全部資料,如果管道內沒有資料,則返回空元組或空列表。

例如:print(cursor

.fetchone()) 在管道中取一條資料。

注意:用fetchone()取值超過最大數會返回none

將取回值以字典形式顯示:pymysql.cursors.dictcursor

需在拿游標時載入

例如:cursor

= db.cursor(pymysql.cursors.dictcursor)

注意:當一次查詢結束後,再次查詢時為空,是因為指標到了最後位,如果想再次查詢就需要將指標指向指定的位置。另外,指標的位置與列表一樣,首位為0。(第0位為第一條資料)

指標的移動有兩種:

1,相對絕對位置移動:absolute

#指的是由第一條記錄開始的第n個位置

#例如:

scroll(

2,mode=

'absolute

') #指標指向資料的第2位這條記錄。資料的第一條記錄為第0位。

2,相對當前位置移動: relative

#指的是由當前的記錄位置開始的第n個位置

#例如:

scroll(

3,mode=

'relative

') #指標指向當前資料位置的後數3位的記錄。

3,查詢當前資料庫中指標位置:lastrowid

#上次游標位置

print(cursor.lastrowid)

小練習:

import pymysql

conn

=pymysql.connect(

host='

127.0.0.1',

port

=3306

,

user='

sly'

, password='

123'

, db='

pytest')

cursor

= conn.cursor

(pymysql.cursors.dictcursor)

sql ='

select * from userinfo

'# sql ='

select * from userinfo where user=%s and pwd=%s

'#查詢

# sql ='

select * from userinfo where user="%s" and pwd="%s"

'% (user

, pwd) #該方法不安全,要使用pymysql模表匯入。

# sql ='

insert into userinfo (user,pwd) value (%s,%s)

'#增加

# sql ='

update userinfo set user=%s where user=%s

'#更改

# sql ='

delete from userinfo where user=%s and pwd=%s

'#刪除

# print

(sql)

# rows

=cursor.execute(sql, (user

, pwd))

# rows

=cursor.executemany(sql, [

('sly1', '123'), ('sly2', '123'), ('sly3', '123')])

rows

=cursor.execute

(sql)

print(cursor

.lastrowid)

cursor.scroll(1, mode=

'absolute')

print(cursor

.fetchone())

# cursor.scroll(2, mode=

'relative')

print('

this is fetch one...')

print(cursor.fetchmany(2

))print('

this is fetch many....')

print(cursor

.fetchall())

print('

this is fetch all...')

print

(rows)

conn.

commit

()cursor.close

()conn.

close()

PyMySQL的基本操作

使用pymysql庫對資料庫進行操作 pymysql 是在 python3.x 版本中用於連線 mysql 伺服器的乙個庫,python2中則使用mysqldb。pymysql 遵循 python 資料庫 api v2.0 規範,幷包含了 pure python mysql 客戶端庫。pip ins...

PyMysql的基本操作

pymysql是乙個python用來連線操作mysql的乙個庫 安裝pymysql庫 pip install pymysql先舉個例子 import pymysql db pymysql.connect localhost root 1004210191 first cursor db.cursor...

pymysql的基本使用

在學爬蟲的過程中,都要和資料庫打交道,我們常用的資料庫是mysql資料庫 或者redis 一對一 mongodb資料庫等 python3為我們提供了簡單的運算元據庫的方法,如下 我們安裝pymysql就基本上就是在命令列模式下,pip3 install pymysql 能翻牆的人用這個安裝吧 不能翻...