您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么在Python中使用pymysql模塊操作數據庫,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1.建立數據庫連接
通過 connect 函數中 parameter 參數 建立連接,連接成功返回Connection對象
import pymysql #建立數據庫連接 connection = pymysql.connect(host = 'localhost', user = 'root', password = '123456', database = 'mydb', charset = 'utf8' ) #print(connection)
pymysql.connect()函數中常用的連接參數有以下幾種:
host:數據庫主機名或者ip地址
port:端口號
user:數據庫的賬號
password 或 passwd:數據庫的密碼
database 或 db:數據庫的名字
charset:編碼方式
Connection對象的重要方法:
close() 關閉數據庫連接
commit() 提交數據庫事物
rollback() 回滾數據庫事務
cursor() 獲得 Cursor游標對象
2.創建游標
一個Cursor游標對象,暫時保存了SQL操作所影響到的數據,相同的數據庫連接創建的游標所引起的數據變化,會馬上反應到同一連接中的其它游標對象。但是不同數據庫連接中的游標對象,是否能及時反映出來,則與數據庫事物管理有關。
Cursor對象基本方法和屬性:
execute(operation,[parameters])
執行一條SQL語句,operation時SQL語句,parameters是其參數。返回值是整數,表示執行SQL語句影響的行數
executemany(operation,[parameters])
批量執行SQL語句
callproc(procname,[parameters])
執行存儲過程,procname是存儲過程名
使用execute()和executemany()方法查詢后,通過以下提取方法提取結果集
fetchone()
從結果集當中返回一條記錄的序列,無則返回None
fetchmany([size=cursor.arraysize])
從結果集當中返回小于或等于size的記錄序列,無則返回空序列,size默認是整個游標的行數
fetchall()
從結果集當中返回所有的行數
3.建立數據庫(這里我使用的是NaviCat)
創建一個名為pydb的數據庫,表名為user,字段name和userid
數據的查找
#建立數據庫連接 connection = pymysql.connect(host = 'localhost', user = 'root', password = '123456', database = 'mydb', charset = 'utf8' ) #print(connection) try: #創建游標對象 with connection.cursor() as cursor: #執行SQL操作 sql = 'select name, userid from user where userid >%(id)s' cursor.execute(sql, {'id':0}) #提取數據集 result_set = cursor.fetchall() for row in result_set: print('id:{0} - name:{1}'.format(row[1],row[0])) #游標自動關閉 finally: #關閉連接 connection.close()
數據插入
#數據增加 connection = pymysql.connect(host = 'localhost', user = 'root', password = '123456', database = 'mydb', charset = 'utf8' ) try: with connection.cursor() as cursor: sql = 'insert into user (userid,name) values (%s,%s)' cursor.execute(sql,(3,'cc')) #affectcount = cursor.execute(sql,(3,'cc')) #print('影響的數據行數:{0}'.format(affectcount)) #提交數據庫事務 connection.commit() except pymysql.DatabaseError: #數據庫事務回滾 connection.rollback() finally: connection.close()
執行結果:
數據更新
#數據更新 connection = pymysql.connect(host = 'localhost', user = 'root', password = '123456', database = 'mydb', charset = 'utf8' ) #print(connection) try: with connection.cursor() as cursor: sql = 'update user set name = %s where userid > %s' cursor.execute(sql,('Tom',2)) #提交事務 connection.commit() print('更新成功') except pymysql.DatabaseError as e: connection.rollback() print(e) finally: connection.close()
執行結果:
數據刪除
#數據刪除 connection = pymysql.connect(host = 'localhost', user = 'root', password = '123456', database = 'mydb', charset = 'utf8' ) try: with connection.cursor() as cursor: sql = 'delete from user where userid = %s' cursor.execute(sql,(1)) #提交事務 connection.commit() print("刪除成功") except pymysql.DatabaseError as e: connection.rollback() print(e) finally: connection.close()
執行結果:
關于怎么在Python中使用pymysql模塊操作數據庫就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。