日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

pymysql基本的使用方法

發布時間:2024/6/21 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 pymysql基本的使用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、導入模塊+創建連接

import pymysql


# 1、通過python去連接數據庫
conn = pymysql.connect(host="127.0.0.1",port=3306,user="root",passwd="admin123.",db="test_python_1",charset="utf8")

  

2、創建游標,通過游標就可以執行sql命令

# 2、創建游標
test_cursor = conn.cursor()

  

3、通過游標執行sql命令,插入一條數據

插入前的表的內容

執行命令

# 3、執行一個插入的命令
r = test_cursor.execute("insert into test(name,age) VALUES ('999',23)")

  

這里的r的值就受影響的行的數目

這里要注意,如果執行修改相關的命令,則必須要commit才能生效,commit操作由數據庫連接的對象的操作,而不是通過游標去執行

# 4、提交數據
conn.commit()

  

查看表中的內容,已經多了一條數據

4、python的數據交互,由pymysql內部做參數傳遞

inp = input("請輸入姓名:")
r = test_cursor.execute("insert into test(name,age) VALUES (%s,34)",inp)
# 這里可以用字符串拼接,也可以使用pymysql內部給我們做字符串拼接
# 字符串拼接是可以的,但是這里禁止操作的,這里會引起sql注入,所以不能這么使用


print(r)
# 這里的r的意思受影響的行數

我們看表中的數據已經更新

上面只傳遞了一個參數,如果有多個參數,該怎么傳遞呢?這里要傳遞一個元組進去

inp = input("請輸入姓名:")
inp_age = input("請輸入年齡:")
r = test_cursor.execute("insert into test(name,age) VALUES (%s,%s)",(inp,inp_age))

  

我們看到數據庫的表中的數據已經更新

上面的例子我們只插入了一條數據,那么如果我們想一次插入多條數據該怎么弄呢?解決辦法看下面的例子,要用excutemany命令來執行,然后通過列表或者元組把參數傳遞進去

user_info_list = [
    ("cui1",23),
    ("cui2",24),
    ("cui3",25)
]

r = test_cursor.executemany("insert into test(name,age) values (%s,%s)",user_info_list)
print(r)

  

我們可以看到數據庫的表中已經有數據更新

4、通過pymysql更新數據庫中的內容

r = test_cursor.execute("update test set name = %s where age = 25","張國軍")

print(r)

  

我們可以看到數據庫的表中的內容已經更新

5、通過pymysql刪除數據庫表中的內容

r = test_cursor.execute("delete from test where age = 25")
print(r)

  

我們可以看到表中的數據已經更新

6、通過pymysql查詢數據,如果是查數據,則不需要commit

r = test_cursor.execute("select * from test")
print(test_cursor.fetchone())
print(test_cursor.fetchone())
print(test_cursor.fetchmany(2))
print(test_cursor.fetchall())

  

我們注意數據庫中的內容

我們看pymysql得到的結果

我們可以看到上面有一個指針的概念,第一條數據被取出來后,第二次在取數據,則就從第二條數據開始取,那么我們有沒有辦法移動指針呢?當然有,我們看下面的例子

7、移動指針

絕對的方式移動指針

r = test_cursor.execute("select * from test")
print(test_cursor.fetchone())
test_cursor.scroll(0,mode = "absolute")
# 這里的意思,absolute是絕對的意思,讓指針回到0的位置

print(test_cursor.fetchone())

  

我們可以看到2次取的數據是一樣的

相對的方式移動指針

r = test_cursor.execute("select * from test")
print(test_cursor.fetchone())
# test_cursor.scroll(0,mode = "absolute")
# 這里的意思,absolute是絕對的意思,讓指針回到0的位置

test_cursor.scroll(2,mode="relative")
# 這里的意思,relative是相對的意思,相當當前的位置向下移動2個位置,這里如果是負數的話,是向上移動,如果是正數,則向下移動

  

我們注意數據庫中的表的順序

我們看下pymysql執行的結果

總結

以上是生活随笔為你收集整理的pymysql基本的使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。